・layoutファイルがすっきりする(場合によっては全てのmoduleに同じlayoutファイルを適用できるようになる)
・ベタ書きしてれば微妙に大変な<title>の変更なんかも一発
・コントローラで設定すれば、継承してサブクラスでどんどんappendできる
CSSのlink設定でのTipsをメモ。
標準的には以下のような感じで設定。
Controllerで設定
{Viewで出力
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とかどこか固定で設定してもいい
}
<?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ヘルパー