几个小时以来我不停地寻找为什么这个简单的代码无法正常工作的原因。我只想将变量从控制器传递到.phtml文件,以便我可以按自己的方式呈现它们,但它只是不显示值(或不传递变量/值)
MyController类别:
public function indexAction(){
$this->viewAction();
}
public function viewAction() {
$view = new ViewModel(array('var1'=>'abc'));
$view->setVariable('var1','abc');
$view->var1 = 'abc';
return $view;
}
在index.phtml中我什么也没得到
echo "this is var1:$this->var1<br>"; //nothing
echo "this is var1:$var1<br>"; //nothing
它打印
这是我的var1:
这是我的var1:
var_dump
返回null
我知道它非常简单,但是
不知道我在这里犯了什么错误。请帮忙
假设您发布的代码和发布的文件名正确,那么这就是您的问题。
您指定viewAction()
,因此要呈现的动作模板为/modulename/controllername/view.phtml
。如您所见,view.phtml
但您已发布index.phtml
。这是行不通的:)
更新
您indexAction()
没有return
任何内容,因此ViewModel
默认情况下将使用空值。给您代码,您应该这样做return $this->viewAction()
,但是我认为这种代码分隔是一种非常糟糕的做法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句