设置模块

问题描述:

我想给我的表单视图脚本装饰,像这样:设置模块

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'); 

我没有检查,但认为它应该工作