2015年3月5日木曜日

Baked グローバルメニューのトップページへのリンクを修正したい

Bakedのタイトルリンクとグローバルメニューのトップページリンクを両方、ディレクトリ名なしに変更するには、default.ctpを次の様にする。



if ($menu['Page']['path'] == '/index'){$menu['Page']['path'] = '/';}


Bakedのデフォルトテンプレートは、トップページに戻るリンクが2つ用意されている。

しかし、リンク先はページタイトルが

http://hogehoge.com/

なのに対し、グローバルメニューのトップページリンクは

http://hogehoge.com/index

となる。

同じページの表示だけども、お客さんの中には揃えてよ、っておっしゃる方も多いし、製作するこっちだって揃っているほうがケツの座りがいい。
トイレでケツ吹いた後に、ケツにトイレットペーパーがはさまってるのと挟まっていないのだったら、ケツに紙がはさまっていない方がいいじゃないか。アレと一緒だ。
それにケツに紙はさんだ男とはさんでいない男だったら、はさんでいない男の方がモテると思うんだ。同じ理由でindexがついているのはイケてない。取ってしまおう。

本来であればこいつはDBに登録されている「index」を削除するのが筋なのだけど、こうすると、何かのタイミングで戻ってしまう。
何のタイミングかはちょっとよくわからない。管理画面からも未入力はNGとしてエラーが出るので、まあ、Bakedの流儀に沿わないよろしくない方法なのでしょう。

そこで、default.ctpに1行書き加えてやることで、メニューをindexなしに変更してやる。
この方法だとDBいじれないよって方でも安心。

編集ファイル名
app/Plugin/(テーマ名)/View/Layout/default.ctp


<?php
 $classes = array();
  if ($menu['current']) $classes[] = 'current';
  if ($menu['Page']['hidden']) $classes[] = 'hidden';
  if ($menu['Page']['path'] == '/index'){$menu['Page']['path'] = '/';} // ←この1行を足す
?>

テーマファイルに書き込むため、テーマを変更すると元に戻っちゃう点に注意。

なお、両方ともケツに紙がはさまっている方がカッコイイじゃねえか!というのであれば、もっと簡単。
default.ctpのロゴ部分、


 <?php echo BK_SITE_NAME ?>

ここのところに「index」と書き足すだけでいい。



 <?php echo BK_SITE_NAME ?>

0 件のコメント:

コメントを投稿