我做了一些搜索但没有成功..我正在试图弄清楚如何定义其他layout()
部分这样的layout()->content
变量..我很想得到int layout()->navigation
(a自定义一个)显示导航..
有什么想法吗?
感谢。
答案 0 :(得分:2)
不确定这是否是您想要的,但您可以通过为新零件指定值来创建布局的其他“零件”。采埃孚将负责其余部分。例如,在bootstrap.php中你可以这样做:
public function _initNewLayoutPart() {
$view = $this->bootstrap('view')->getResource('view');
$view->layout()->newpart = 'some new part';
}
然后在你的layout.phtml中你可以回应新的部分:
<?php echo $this->layout()->newpart; ?>
答案 1 :(得分:1)
只需在布局中创建一个新变量,就可以在控制器中定义它(最好是在init或postDispatch中)。就像这样:
public function init()
{
$this->view->layout()->motd = '<b>Message of the day.</b>';
}
然后在您想要查看消息的实际视图中,您所要做的就是:
<?php echo $this->layout()->motd; ?>
如果您想要更精彩的内容,例如渲染整页或侧边栏,请尝试以下操作:
public function init()
{
$this->view->layout()->sidebar = $this->view->action('render', 'sidebar');
}
渲染是动作(包括render.phtml),侧边栏是控制器。