我知道如何使用多个布局(每个控制器和每个模块)。
我有5个不同的布局,每次调用diffirent模块时它们都会正常切换。但问题是我看到它们都有一些常用代码(如doctype,样式表等)。
你能告诉我Zend是否允许使用多个布局但是为它们设置公共根目录?现在,如果我想添加样式表,我需要修改5个不同的布局,我相信可以更好的方式完成。
提前致谢。
答案 0 :(得分:1)
我通常会创建一个包装器布局,使用子布局呈现内容。
使用一个默认值创建所需数量的子布局,因此如果您不需要,则无需进行设置。
/应用 /布局 wrapper.phtml / sublayouts default.phtml
在wrapper.phtml中:
$sublayout = $this->layout()->sublayout ? $this->layout()->sublayout : 'default';
echo $this->render('sublayouts/' . $sublayout . '.phtml');
在sublayouts / default.phtml中(添加任何内容):
<?= $this->layout()->content ?>
答案 1 :(得分:0)
有用于这些情况的视图帮助程序。 headScript和headLink。
在您的布局中,您需要做的就是
echo $this->headScript(), $this->headStyle();
然后,在你的bootstrap中添加:
public function _initScriptsAndStyles()
{
//get the view object
$this->bootstrap('view');
$view = $this->getResource('view');
//add javascript
$view->headScript()
->appendFile('/js/your-js.js')
->appendFile('/js/another-js.js');
//add css files
$view->headLink()
->appendStylesheet('/styles/basic.css');
}