CakePHPでの開発に、ものすごい勢いでいろんなことにつまづいているコスミーです。
とりあえず、少しずつメモしていきたいと。暴露していきたいと。
○setAction + layout
コントローラ内のメソッドで
$this->layout="hoge.thtml"
ってやれば、テンプレートを指定できる。
また、
$this->setAction('foo')
でコントローラ内のほかのメソッドに移行できる。
で、二つ同時にやるとどうなるかというと、
function hoge() {
$this->layout = "login.thtml";
$this->setAction('foo');
}
function foo() {
// ここのレイアウトは・・・
}
上記のコードだと、直接fooが呼ばれた場合はレイアウトは”default.thtml”、hoge経由で呼ばれた場合は”login.thtml”。
まあ、当然といえば当然かもしれませんが。そういうわけで、上記のコードはきっとバグなのです。
以上