・layoutファイルがすっきりする(場合によっては全てのmoduleに同じlayoutファイルを適用できるようになる)
・ベタ書きしてれば微妙に大変な<title>の変更なんかも一発
・コントローラで設定すれば、継承してサブクラスでどんどんappendできる
CSSのlink設定でのTipsをメモ。
標準的には以下のような感じで設定。
Controllerで設定
{ public function preDispatch() { parent::preDispatch(); $this->view->headTitle('MyWEB', 'SET'); $this->view->headLink()->appendStylesheet($this->view->baseUrl('path_to_css/css1.css')) ->appendStylesheet($this->view->baseUrl('path_to_css/css2.css')); $this->view->headMeta()->setCharset('UTF-8'); //こんなのはbootstrapとかどこか固定で設定してもいい }Viewで出力
<?php echo $this->doctype(); ?> <html> <head> <?php echo $this->headTitle() ?> <?php echo $this->headMeta() ?> <?php echo $this->headLink() ?> <?php echo $this->headScript() ?> </head> <body>
コンディショナルな指定をする場合。
例えばIE7だけで適用するCSSの設定。
こんな感じ。
public function preDispatch() { parent::preDispatch(); $this->view->headLink()->appendStylesheet($this->view->baseUrl('path_to_css/common.css')) ->appendStylesheet($this->view->baseUrl('path_to_css/ltIE7.css'), 'screen', 'lt IE 7'); // <!--[if lt IE 7]> <link href="/path_to_css/ltIE7.css" media="screen" rel="stylesheet" type="text/css" ><![endif]--> }
参考)
Zend Viewヘルパー