来自控制器的代码:
public function actionSomeName($param){
do something here...
$this->renderPartial('_formCalculations', array(
'modelX'=>$modelX,
'modelY'=>$modelY,
));
}
我想在我的视图中调用该函数,但它不起作用。
$this->renderPartial
是否正确?我想不是,因为它只适用于观点?但是我必须使用哪个功能?
$this->renderPartial('Controllername/Somename',array("param"=>"value"));
答案 0 :(得分:0)
您无法直接在视图中调用控制器/操作。
您可以使用render / renderPartial。 渲染/ renderPartial参考 视图文件,而不是控制器操作
你也可以在代码中加入你的逻辑(在你的例子中,"在这里做点什么......"部分)但这不是好MVC!
另一种选择是使用widget
答案 1 :(得分:0)
你不能单独使用renserPartial,但你可以这样做:
$body = $this->renderPartial('Controllername/Somename',array("param"=>"value"),true);
在此代码中,您拥有该视图文件的脚本,您可以在任何需要的地方使用它们。