現在のコントローラーやアクション名をゲットする。
Wordpressみたいに現在のページ(コントローラー&アクション名)がわかれば分岐できそうですね。
以下でコントローラー名など取得できます。
コントローラー名 | $this->name |
---|---|
アクション名 | $this->action |
Webroot | $this->webroot |
現在のURL | $this->here |
引用元: CakePHPで実行中のコントローラー名、アクション名を取得する方法
あとはlayoutsのheadに分岐で読み込むだけです。
views > layouts > ctp file
<head> if($this->action == 'hoge') { echo $html->css('hoge'); } </head>
各Viewで指定する方法
アクション名を取得してとりあえずできるようになったけど、数十個とかあったら管理が大変だよなと思ってたらCakePHPには便利な機能があるのですね。
head内に「$scripts_for_layout」を記述しておけば各Viewファイルからcssなどを追加できるようです。
views > layouts > ctp file
<head> echo $scripts_for_layout; </head>
各Viewには以下を記述します。
echo $html->script('hoge', array('inline' => false)); echo $html->css('hoge', null, array('inline' => false));
javascriptとcssでは引数が変わるようです。