Zend ViewScript装饰器 - 放置我的viewScript的位置

时间:2009-08-12 17:53:39

标签: zend-framework decorator

嘿,所以我在修饰器方面遇到了麻烦,最后找到了ViewScript装饰器,这似乎是我正在寻找的东西。我无法想象如何让所有文件指向彼此,并希望你们可以提供帮助。

在我的表单中,在底部,我为所有元素分配了viewScript装饰器:

Bottom of the form.php:

    $this->setElementDecorators(array(array('ViewScript'), array('viewScript' => 'ViewScript.phtml')));

我认为这会占用我的表单元素,并将它们放入ViewScript.phtml中,该文件与我的form.php位于同一文件夹中。

但是,我收到此错误消息:

Warning: Exception caught by form: Plugin by name '/ViewScript.phtml' was not found in the registry; used paths: Zend_Form_Decorator_: Zend/Form/Decorator/;Zend/Form/Decorator/ (..BLAHBLAH)

为什么表单找不到ViewScript.phtml,我怎么能指向它呢?

1 个答案:

答案 0 :(得分:4)

您正在设置两个装饰器,一个称为“ViewScript”,另一个称为“ViewScript.phtml”,而不是您想要做的:

$this->setElementDecorators(array(
  array('ViewScript', array(
    'viewScript'=>'ViewScript.phtml'
  ),
);

请记住,您正在设置装饰器 - 因此每个装饰器只接受传递给函数调用的数组中的一个元素。