0

我对 Zend Framework 很陌生,你开始了解它的要点,但是我又遇到了一个问题。我想创建一个表单,用户可以在其中上传文件。

现在的想法是,当用户第一次访问带有表单的页面时,他/她将只看到一个表单元素,该元素用于上传文件,在该元素下方是一个按钮,用于添加附加文件,从而向表单添加附加元素。

我一直在环顾四周,并被建议尝试使用 JQuery,在这一点上,提一下我从未使用过 JQuery 可能是件好事,更不用说与 Zend 框架结合使用了。

我已将 ZendX 库添加到与 Zend 文件夹相同的文件夹中,如下所示

/Zend Framework
 /library
  /Zend
  /ZendX

我当然在 php.ini 的 include_path 变量中包含库文件夹。根据我对 Zend 参考指南的了解,我需要将以下内容添加到我的引导程序中。

public function _initJQuery() {
    $view = new Zend_View();
    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
    $viewRenderer->setView($view);
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
}

完成后,我在我的内容模块中构建了以下 Jquery 表单。

<?php
class Content_Form_JQueryForm extends ZendX_JQuery_Form
{
    public function init()
    {
        $this->setMethod('post');
        $this->setName('frm');
        $this->setAction('content/index/add');

        $date1 = new ZendX_JQuery_Form_Element_DatePicker(
                'date1',
                array('label' => 'Date:')
             );

        $this->addElement($date1);

        $elem = new ZendX_JQuery_Form_Element_Spinner(
                "spinner1", 
                array('label' => 'Spinner:')
        );

        $elem->setJQueryParams(array('min' => 0, 'max' => 1000, 'start' => 100));
        $this->addElement($elem);
    }
}

然后在控制器中,我只需创建表单并将其分配给视图

public function indexAction() {
    $form = new Content_Form_JQueryForm();
        $this->view->form = $form;
}

当然,在适当的视图中,我呼应了表格

<?php echo $this->form; ?>

当我运行应用程序时,我收到以下错误消息

致命错误:第 10 行的 C:\wamp\www\ZendProject\application\modules\content\controllers\CategoryController.php 中找不到类 'Content_Form_JQueryForm'

我对自己做错了什么一无所知,如果有人可以帮助我,我将不胜感激。

4

1 回答 1

0

最后,我偶然发现了本教程,http://www.jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/

它极大地帮助了理解 Zend 中的表单是如何工作的。

于 2012-05-31T13:25:01.107 回答