CakePHP2009/06/12マッチー
ちょっと前に、renderElementを使うとelementsフォルダに入っているファイルをview内で読み込めるようなことを書いた。それについて一つ知ったことがあったので、メモ。
例えばこんな感じでindex.ctpというファイルと、elementsフォルダの中にprogram.ctpというファイルがあったとする。
僕はこう書けばforeachの$valがprogram.ctp内でもそのまま使えるのかと思っていたのだけど、どうやらそれはダメらしい。controllerでsetした変数ならそのまま使えるけれど、上のような場合は、renderElementの第2引数にエレメントで使う変数を定義しておく必要がある。
これでOK。今はarrayの中身が両方ともvalになっているけど、別にこれはいつでも同じになるわけじゃない。要は↓こういうこと。