设置模块
问题描述:
我想给我的表单视图脚本装饰,像这样:设置模块
public function setupViewScript() {
//Work out the path based on the class name here
//****
//Set decorator
$form_decorator->setViewScript($form_view_path);
$this->setDecorators(array(array('ViewScript', array('viewScript' => $form_decorator->getViewScript()))));
}
不过,我不想使用缺省的模块;我想根据表单的类名加载一个特定的视图脚本。由于我可以在多个模块中使用特定的表单,因此我希望我的所有表单视图脚本都位于./application/form/views/scripts/中。
但是,我无法将模块设置为“窗体”,而不是当前模块。任何人都可以提供见解吗?
感谢
答
我看着到Zend的代码,发现U可以设置viewscript的模块,如下面的例子:
$this->setDecorators(array(
array('ViewScript', array('viewScript' => '<viewscriptname>', 'viewModule' => '<modulename>')),
'Form'
));
这应该工作,我也在我的项目中使用它。
答
你有没有试过这种解决方案?
$request = Zend_Controller_Front::getInstance()->getRequest();
$request->setModuleName('form');
我没有检查,但认为它应该工作