在插件中我尝试 $this->view->menu = $menu; ,但鉴于我尝试<?php var_dump($this->menu); ?
> 并得到NULL
也许是将变量从插件传递到视图的解决方案?
在插件中我尝试 $this->view->menu = $menu; ,但鉴于我尝试<?php var_dump($this->menu); ?
> 并得到NULL
也许是将变量从插件传递到视图的解决方案?
你可以像下面这样使用
第一:不使用助手或插件:
Zend_Layout::getMvcInstance()->assign('whatever', 'foo');
在此之后,您可以在布局中使用以下内容:
<?php echo $this->layout()->whatever; ?>
这将打印“foo”。
或者
第二 :
<?php
class My_Layout_Plugin extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$layout = Zend_Layout::getMvcInstance();
$view = $layout->getView();
$view->whatever = 'foo';
}
}
然后用前端控制器注册这个插件,例如
Zend_Controller_Front::getInstance()->registerPlugin(new My_Layout_Plugin());