いろいろと悩み事の多いお年頃なんですが、あまり人には聞くことがありません。
でもこれはどんだけ考えてもいい方法が思い浮かばないので、もし教えてくれる方がいれば教えてほしいという切実な願いです。
要件
view部分ををいじらずに、リンク等URLにパラメータを保持したい。
prefixを指定したときのように。
ただし、prefixを使って、呼び出すaction名をいちいち書き換える手間もかけたくない。
(__callメソッドを使えばいいのかもしれないですが・・・)
cakeのcoreを書き換えたくない。
詳細
現在作っているゲームで、iframeを通じてそのゲーム内のページを見れる機能があるのですが、iframeで見た場合のlayoutを変更したいと思っています。
iframeで見るページは、iframe以外でも見れ、そのときはiframeで見たときと異なるlayoutとなるため、layoutを動的に変更させる必要があります。
しかし、iframeかどうかの判別は、PHPからはできなさそうです。
(もし方法があるなら教えてください><)
そこでiframeに指定したURLにパラメータを付け(?iframe=trueみたく)、iframe内でページ遷移が起こった場合もそのパラメータを保持し続ければいいのではないかと考えました。
上に書いたように、呼び出すaction名を変更するprefix機能をそのまま使うこともできません。
またbeforeRenderなどaction名が決まった時点で、prefixを設定しようかとも考えましたがそれも上手くいきませんでした。
どうかこの私の至らない頭に解決法をお与えください。
要件が上手くまとまったら質問サイトにでも投げかけようかな。