概要
wordpressとかでよくやる今いるページごとにアクティブハイライトつけたりする方法が知りたかった。
今回はゲームリストページとノベルリストページごとに切り替える想定。
もっとマシなやりかたもあるのかもしれない…。
方法
各Viewのindex.ctpにassignするとdefault.ctpでその値が使えるみたいだ
ちなみにうっかりdefault.ctpに書いちゃうとずっとその値が優先されていた。
/src/Template/Games/index.ctp
<?php $this->assign('title', 'ゲームリスト');//タイトルにサイトリストが表示される $this->assign('Games', 'active');//cssでハイライトを設定した想定のクラス ?>
/src/Template/Novels/index.ctp
<?php $this->assign('title', 'ノベルリスト');//タイトルにサイトリストが表示される $this->assign('Novels', 'active');//cssでハイライトを設定した想定のクラス ?>
/src/Template/layout/default.ctp
<!-- タイトル部分 --> <title> <?= $this->fetch( 'title' ) ?> </title> <!-- ヘッダのリストとかの部分 --> <li class="<?= $this->fetch( 'Games' ) ?>"> <a href="/Games">ゲームリスト</a> </li> <li class="<?= $this->fetch( 'Novels' ) ?>"> <a href="/Novels">ノベルリスト</a> </li>
(hrefの書き方は本来正式な書き方があるはず…
おわり。