[CakePHP]エレメントで利用できる変数を設定する

3467 回閲覧 このエントリーをはてなブックマークする この記事のブックマークユーザー 永続的リンク2008/07/03 16:08:11 カテゴリ: CakePHP
スポンサード リンク
CakePHP


今更?って感じかも知れませんが、今日やっててどんなんだっけと思ったので・・・。
備忘録として書きます。

エレメントについて

多くのアプリケーションでは、ページからページに、時にはレイアウト内の異なる場所に、繰り返して小さな表示ブロックを配置することがあります。 Cake は、再利用する必要のあるサイトの繰り返しの部分を手助けできます。この再利用できる部品のことは、エレメント(Elements)と呼びます。広告、ヘルプボックス、ナビゲーション用のコントロール、その他のメニュー、ふき出しなどは、Cake ではエレメントとして実装されます。エレメントは基本的に、他のビューに含めることができる、ミニ“ビュー”のことです。

参照 )マニュアル8章ビュー

エレメントの呼び出し

1.1のビュー

   echo $this->renderElement('hoge');

1.2のビュー

   echo $this->element('hoge');

エレメント

1.1⇒[app/views/elements/hoge.thtml] 
1.2⇒[app/views/elements/hoge.ctp]

echo $hogehoge;

上記のようなエレメントをサンプルで作る。


エレメントで$hogehoge変数を利用する場合、

$this->set("hogehoge","ほげほげ");

とコントローラでセットする。


ただ、ビュー内で動的に変数を変えたいという場合、そんな時は、
1.1のビュー

echo $this->renderElement('hoge',array('hogehoge','ほげげげ'));

1.2のビュー

echo $this->element('hoge',array('hogehoge','ほげげげ'));

とすれば、エレメントで$hogehoge変数が利用できる。

※既に変数がsetされている場合、同じ名前の変数を指定すると上書きされる。

element()のその他のオプション

1.2ではエレメントのキャッシュを指定できるようになっている。
第二引数に

array('cache' => true)

とする。デフォルトは1日。
変更したい場合は

array('cache' , array('time' => +1 hour','key' => 'hoge' ))

または

array('cache' => '+1 hour')

で出来る。
keyはキャッシュファイル名のelement_○○・・・に使われる。
二つめの指定方法だと配列のkeyを「_」で連結したものがelement_○○・・・になる。


プラグインから使う場合

echo $this->element('hogehoge', array('plugin' => 'pluginname'));

1.1でも出来るっぽいけど、マニュアルには書いてない?のかな。



※まだこの辺は試してなくて、ソースを見ただけです。

参考サイト

 →ツイッターのフォローはこちら
スポンサード リンク
         

関連記事

↑ページ上部へ

アクセスカウンター

今日 : 2 昨日 : 27

ブログ内容

主にウェブ関係のことを書いてます。たまにブレイクダンスとか他のことも書いています。

プロフィール

MICK

MICKです。

1983年1月24日生まれ。ウェブの世界にいるのは、偶然のようで必然なのかも。

好きなこと :
 挑戦すること。物事に没頭すること。勉強すること。
嫌いなこと :
 自慢話を聞くこと。人の悪口を言うこと。

運営サイト

      

カテゴリ一覧

サイト広告

オススメの書籍とか

感想

紹介

色々

最近のコメント

最新記事

注目記事

人気記事

最近の人気記事

人気の記事

関連サイト

運営サイト

色々

最近のトラックバック