Zend framework 将变量传递给viewScript装饰器

Zend framework 将变量传递给viewScript装饰器,zend-framework,arguments,zend-form,partial,zend-decorators,Zend Framework,Arguments,Zend Form,Partial,Zend Decorators,我曾尝试使用Zend表单的viewScript装饰器向表单中添加一个分部,但是我似乎无法将变量传递给分部。这是我的密码: 在控制器中,我添加以下表单: $form = new Content_Form_ContentForm(array("categories" => $sortedCategories)); $form->submit_button->setLabel("Add content"); $this->view->form = $form; 然后在表

我曾尝试使用Zend表单的viewScript装饰器向表单中添加一个分部,但是我似乎无法将变量传递给分部。这是我的密码:

在控制器中,我添加以下表单:

$form = new Content_Form_ContentForm(array("categories" => $sortedCategories));
$form->submit_button->setLabel("Add content");
$this->view->form = $form;
然后在表单中添加viewscript:

public function setCategories($categories) {
    $this->setDecorators(array(array('ViewScript', array(
            'viewScript' => 'partials/dtreePartial.phtml',
            'List'=>"{$categories}",
    ))));
}
我已经尝试使用
print\r($this->getDecorator('ViewScript')->getOptions()打印视图脚本的选项将生成
数组([viewScript]=>partials/dtreePartial.phtml[List]=>Array)
但是,当我全部运行它时,脚本返回一个关于列表不存在的错误


我有一种感觉,我错过了一些东西,但我不确定它是什么。任何建议或解决方案都将不胜感激!:)

问题在于这一行:

'List'=>"{$categories}",
因为将变量放在引号内,所以它将转换为字符串。在PHP中,将数组强制转换为字符串时,结果总是单词
array

只需更改为:

'List'=> $categories,

而且它应该像你期望的那样工作。

我想我需要买眼镜:)谢谢你的帮助