我设置了一个新的 contentkey ,用于在我网站的右栏显示菜单。就像这样:
public function menuAction()
{
$this->view->layout()->setContentKey('menu');
}
这是布局代码:
<div class="center_col"><?php echo $this->layout()->content; ?></div>
<div class="right_col"><?php echo $this->layout()->menu; ?></div>
但有一个问题!!设置菜单contentKey后,右栏中显示的每个动作结果(内容不起作用!)
我有一个菜单动作的插件,我认为这是reasone!
这是我的插件:
class Places_Controller_Plugin_ActionSetup extends Zend_Controller_Plugin_Abstract
{
public function dispatchLoopStartup( Zend_Controller_Request_Abstract $request)
{
$front = Zend_Controller_Front::getInstance();
if (!$front->hasPlugin('Zend_Controller_Plugin_ActionStack')) {
$actionStack = new Zend_Controller_Plugin_ActionStack();
$front->registerPlugin($actionStack, 97);
} else {
$actionStack = $front->getPlugin('Zend_Controller_Plugin_ActionStack');
}
$menuAction = clone($request);
$menuAction->setActionName('menu')->setControllerName('index');
$actionStack->pushStack($menuAction);
}}
我在所有页面都有一个菜单动作调用,所以我使用这个插件!
有没有办法解决我的问题?!
public function menuAction()
{
$this->view->placeholder("menu")
->append($this->view->render("menu/menu.phtml" ));
}
答案 0 :(得分:1)
只需渲染到命名段
// Renders my/login.phtml to the 'form' segment of the
// response object
$this->render('login', 'form');
不需要layout()->setContentKey
,此方法适用于其他事项