我是Zend Framework的新手,我开始领会它的要旨,然而我又遇到了一个问题。我想创建一个表单,它可以让用户上传文件。
现在的想法是,当用户第一次访问带有表单的页面时,他/她将只看到一个表单元素,该元素用于上传文件,并在其下方显示用于添加附加文件的按钮,从而将附加元素添加到表单。
我一直在四处寻找,有人建议我尝试使用JQuery,在这一点上,我应该指出我从未使用过JQuery,更不用说与Zend Framework结合使用了。
我已经将ZendX库添加到Zend文件夹所在的同一文件夹中,如下所示
/Zend Framework
/library
/Zend
/ZendX当然,我在php.ini中的include_path变量中包含了库文件夹。根据我对Zend Refference指南的理解,我需要在我的Bootstrap中添加以下内容。
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”
我不知道我做错了什么,如果有人能帮助我,我将不胜感激。
发布于 2012-05-31 21:25:01
最后,我偶然发现了这个教程,http://www.jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/。
它对理解表单在Zend中的工作方式有很大的帮助。
https://stackoverflow.com/questions/10704224
复制相似问题