公式マニュアルを含むWeb上の情報で見つけることができなかったので、メモしておきます。
そもそも、CakePHPを体系的に理解できている人、具体的には Element が View でどのように展開されているのかを理解している人にとっては自明なことで、いちいち疑問にならないことかもしれません。
私自身は非常に行き当たりばったりの付け焼刃な知識しかない上、ソースを読む時間もなかったので単純な処方箋のみになります。
時間のある方は是非一度詳しくお調べになってください。
何がしたいのかというと、Viewから呼び出したElementの中から、さらに別のElementを呼び出すことです。
結論だけ言いますと、Viewに記述するのと全く同じやり方で問題なさそうです。
たとえば、View ファイル view.ctp から Elementファイル elm1.ctp を呼び出す。そして、その elm1.ctp の中に、別のElementファイル elm2.ctp を呼び出す記述をする場合、次の通りで問題ないというのが今のところの結果です。
view.ctp内
echo $this -> element( "elm1" );
elm1.ctp内
echo $this -> element( "elm2" );
ViewからElementへ新たにパラメータを追加した場合、そのパラメータは引き継がない。
たとえば、view.ctp から、 elm1.ctp へ追加したパラメータを elm2.ctp でも追加したい場合は、 elm1.ctp 内で同様に明示的に追加する必要がある。
view.ctp内
$params = array( "name1" => "value1" ); echo $this -> element( "elm1", $params );
elm1.ctp内
echo $this -> element( "elm2", $params ); //echo $this -> element( "elm2" ); //これでは $params は elm2.ctp には渡らない