CakePHP でエレメントを使って全ページに共通項目を表示するため基本的な方法

サイト制作するにあたり、サイドバーなど、ページの構成が変わっても、常に表示したい項目がありますね。最新投稿一覧とか良い例です。

このような場合は、エレメントを使います。
CakePHP のエレメント | Sun Limited Mt.
エレメント :: ビュー :: CakePHPによる開発 :: マニュアル :: 1.2 Collection :: The Cookbook

エレメントを作成する

/app/views/elements/hoge.thtml を作ります。内部には以下のように書いておきます。

1
2
<p>ここはエレメントです。サイドバーです。</p>
<p>$fuga = <?php echo $fuga; ?></p>

エレメントを読み込む

view の読み込みたい場所に以下のようにコードを記述。

1
2
3
4
5
6
<div id="content">
    コンテンツです。
</div>
<div id="sidebar">
    <?php echo $this->renderElement('hoge'); ?>
</div>

このままでは変数がないのでエラーが出力されます。変数を渡しましょう。

1
2
3
4
5
6
<div id="content">
    コンテンツです。
</div>
<div id="sidebar">
    <?php echo $this->renderElement('hoge', array('fuga', 'メルト')); ?>
</div>

コメント

コメントは受け付けていません。