Zend Framework のページ レイアウト モジュール - Zend_Layout - は、MVC と一緒に使用することも、単独で使用することもできます。この記事では、MVC での使用についてのみ説明します。
1. レイアウト スクリプトは、
application/views の下にレイアウト フォルダーを作成します。メインのレイアウト スクリプトのlayout.phtml コードは次のとおりです。
<?php echo $this->doctype('XHTML1_STRICT') ?>
<html>
<頭>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php echo $this->headTitle() ?>
<?php
$this->headLink()->appendStylesheet("/styles/main.css");
// さらにリンクを追加します ...
?>
<?php echo $this->headLink() ?>
</head>
<本文>
<div id="ヘッダー">
<?php echo $this->partial('header.phtml') ?>
</div>
<テーブル>
<tr>
<td valign=top>
<div id="leftcolumn">
<?php echo $this->partial('leftcolumn.phtml') ?>
</div>
</td>
<td valign=top>
<div id="コンテンツ">
<?php echo $this->layout()->content ?>
</div>
</td>
</tr>
</テーブル>
<div id="フッター">
<?php echo $this->partial('footer.phtml') ?>
</div>
</body>
</html>
layout.phtml に加えて、header.phtml、leftcolumn.phtml、footer.phtml、main.css などのファイルも記述する必要があります。
Zend Framework のドキュメントでは、ビューを使用してページ レイアウトのアプリケーションを表現しています。
2.
MVC でのページ レイアウトの設定は非常に簡単です。html/index.php を編集し、次の 2 行のコードを追加します。/**
Setupplayout*/
require_once 'Zend/Layout.php';
Zend_Layout::startMvc($rootPath . '/application/views/layouts');
注: ページ レイアウトを開始した後、既存のページを調整し、<header> <title> <body > などの不要な HTML 要素を削除する必要があります。削除するまで待ちます。さらに、$this->headTitle() を通じてページのタイトルを設定できます。
ページのレイアウトの変更も非常に簡単で、コントローラーで次のコードを使用するだけです。
$this->_helper->layout->setLayout('new_layout');
コントローラーのすべてのアクションが同じページ レイアウトを使用する場合、コントローラーの初期化関数を通じて設定できます:
public function init() {
親::init();
$this->_helper->layout->setLayout('new_layout');
}