我是Zend Framework的新手,我正试图了解他们想要渲染的东西。 我正在创建一个网站,我有一个从数据库动态创建的菜单。如果我调用正确的操作,我会正确看到menu.phtml视图。
现在我想在每个页面上呈现这个menu.phtml,我不知道如何做到这一点。我读到了占位符,帮助者......但似乎没有得到它。
我想我必须调用动作来生成menu.phtml,渲染它并将其放入 占位符我可以从layout.phtml调用,但我不知道我是怎么做的。
提前致谢。
解决方案:
在layout.phtml中,我添加了以下行:
<?php echo $this->action('menu',
'page',
null,
array());?>
这将访问PageController中的menuAction并运行它。变量将被填入,所需的代码将在渲染menu.phtml视图脚本之前执行。
答案 0 :(得分:4)
您可以这样做:
假设您在某个名为“标题”的div中显示菜单。
<div id='header'><?= $this->render('menu.phtml'); ?></div>
您必须在工作控制器中添加访问menu.phtml的正确路径。
public function init() {
$this->view->addScriptPath(APPLICATION_PATH . '/views/scripts/');
}
如果要将值传递给menu.phtml文件。
<?php echo $this->partial('page/menu.phtml', array('var1'=>'value1','var2'=>'value2') ); ?>