レイアウトの無効化
Zend_Layoutの機能を無効にしたい場合があるかもしれません。その場合にはdisableLayoutメソッドを利用します。
| メソッド名 | 引数 | 説明 |
| disableLayout | (なし) | Zend_Layoutを機能しないようにする。 |
| enableLayout | (なし) | Zend_Layoutを有効にする。 |
| isEnabled | (なし) | Zend_Layoutが機能するかどうかを調べる。 |
例えばリスト11ではZend_Layoutを無効にしています。
...
class IndexController extends Zend_Controller_Action
{
...
public function nolayoutAction()
{
//レイアウトを無効にする
$this->_helper->layout->disableLayout();
//利用するビュースクリプトはindex.phtml
$this->render('index');
}
...
それを描画すると図6のように、menuに相当する部分がなくなります。

本文を指定するメンバ変数名の変更
例で見たとおり、本文に相当する内容が格納されているメンバ変数の名前は標準では「content」となっています。このメンバ変数の名前も変更することができます。
| メソッド名 | 引数 | 説明 |
| setContentKey | $contentKey | Zend_Layoutで、「本文」に相当する内容が格納されているメンバ変数の名前を$contentKeyにする。標準では「content」。 |
| getContentKey | (なし) | Zend_Layoutで、「本文」に相当する内容が格納されているメンバ変数の名前を取得する。 |
おわりに
今回はZend_Layoutについて説明しました。ただページに部品を配置するだけでなく、ページ間にまたがったレイアウトを共有する仕組みであることがご理解いただけたと思います。
次回からは、Zend Framework 1.6で追加された機能について触れていきたいと思います。まずはJavaScriptのフレームワークであるDojoと連携するためのモジュールZend_Dojoから紹介します。
