我的Zend_Form可以找到,直到我添加一个ViewScript装饰器。一旦我添加了ViewScript,表单就会无声地失败。我很确定这是Zend空白屏幕问题的组合(这不是一个非常大的问题)和我的viewscript调用的一些问题。
我的项目设置如下:
/application
/modules
/default
/ .. other modules ..
/register
/controllers
/forms
/Options.php
/_option.phtml
/models
/views
/scripts
我的表格:
class Register_Form_Options extends Zend_Form
{
init()
{
$field = new Zend_Form_Element_Select('Options');
$field
->setLabel($row->Name)
->addValidator('int');
$list= array( /* select options here*/ );
$field->addMultiOptions($list);
$field->setDecorators(array(array('ViewScript',array('viewModule'=>'register','viewScript'=>'forms/_option.phtml'))));
$this->addElement($field);
}
}
文件_option.phtml
目前只包含文字。
当我注释掉ViewScript行时,表单会在我的视图中呈现。当我将其保留时,表单根本不会呈现,但视图的其余部分会显示。
任何见解都将受到赞赏!
答案 0 :(得分:0)
当您使用viewModule
选项指定驻留在另一个模块中的视图脚本时,我认为框架希望相对于 view / scripts 文件夹找到它模块。
所以,我会尝试移动_option.phtml
视图脚本:
modules/register/forms/_option.phtml
到
modules/register/views/scripts/forms/_option.phtml
并在setDecorators()
未更改的情况下将您的引用留在其中。