我正在尝试使用此代码向视图(布局+部分)发送一些值(所有这些变量都有1作为值)。
$this->layout()->setVariables(array(
'nbTotalLignes' => $nbTotalLignes,
'nbTotalPages' => $nbTotalPages,
'comptes' => $comptes,
'numPageCourante' => $numPageCourante,
'nbComptesAffiches' => $nbComptesAffiches,
'comptesAffiches' => $comptesAffiches,
));
但是当我尝试使用此代码echo (isset($this->nbTotalLignes)?1:0
在视图中显示这些内容时,我得到0
。我该如何解决这个问题?
答案 0 :(得分:1)
每个视图都有自己的范围。
$this->layout()->setVariables
设置布局的变量,而不是当前的操作视图。
将vars发送到当前操作视图,您有两个选项:
return array('var1'=>1);
zend会自动将其转换为viewmodel。或
$view = new ViewModel();
$view->setVariables(array('var1'=>1))
return $view;
通过这种方法,您还可以设置不同的模板
$view->setTemplate('a different template path');
并选择不渲染布局
$view->setTerminal(true)