CodeZine(コードジン)

特集ページ一覧

Zend Framework入門(13):
共通レイアウトによるウェブサイトの管理 - Zend_Layout-

Zend Frameworkによる実践的なPHPアプリケーション開発 13

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/12/22 14:00
目次

レイアウトの無効化

 Zend_Layoutの機能を無効にしたい場合があるかもしれません。その場合にはdisableLayoutメソッドを利用します。

レイアウトの無効化
メソッド名 引数 説明
disableLayout (なし) Zend_Layoutを機能しないようにする。
enableLayout (なし) Zend_Layoutを有効にする。
isEnabled (なし) Zend_Layoutが機能するかどうかを調べる。

 例えばリスト11ではZend_Layoutを無効にしています。

[リスト11]レイアウトを無効にする(IndexController.php)
...
class IndexController extends Zend_Controller_Action
{
...
    public function nolayoutAction()
    {
      //レイアウトを無効にする
      $this->_helper->layout->disableLayout();
      //利用するビュースクリプトはindex.phtml
      $this->render('index');
    }
...

 それを描画すると図6のように、menuに相当する部分がなくなります。

図6 Zend_Layoutを無効にした場合
図6 Zend_Layoutを無効にした場合

本文を指定するメンバ変数名の変更

 例で見たとおり、本文に相当する内容が格納されているメンバ変数の名前は標準では「content」となっています。このメンバ変数の名前も変更することができます。

本文が格納されるメンバ変数名の設定
メソッド名 引数 説明
setContentKey $contentKey Zend_Layoutで、「本文」に相当する内容が格納されているメンバ変数の名前を$contentKeyにする。標準では「content」。
getContentKey (なし) Zend_Layoutで、「本文」に相当する内容が格納されているメンバ変数の名前を取得する。

おわりに

 今回はZend_Layoutについて説明しました。ただページに部品を配置するだけでなく、ページ間にまたがったレイアウトを共有する仕組みであることがご理解いただけたと思います。

 次回からは、Zend Framework 1.6で追加された機能について触れていきたいと思います。まずはJavaScriptのフレームワークであるDojoと連携するためのモジュールZend_Dojoから紹介します。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2010/11/23 11:57 リスト10に誤りがあったのを修正

バックナンバー

連載:Zend Framework入門

もっと読む

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

  • WINGSプロジェクト 風田 伸之(カゼタ ノブユキ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5