contentsNameの挙動をちょっとカスタマイズしたので、メモ
http://www.pictnotes.jp/hoge
とかの固定ページ(第一階層しかないページ)で、contentsName 関数をつかうと、返値は Defaultになる。
これを、「hoge」にしたい場合がある。
たとえば、
<body id="<?php $baser->contentsName() ?>"> としてると、 <body id="Default">
となるけど、hogeページは、
<body id="hoge">
となって欲しい場合などの時のカスタマイズ。(baserCMS3系)
まず、変えたいbodyタグがあるlayoutファイルで該当のbodyタグ周りを下記のように修正
<?php $contentsNameDefault = 'Default'; if( isset( $this->request->pass[0] ) ){ $contentsNameDefault = $this->request->pass[0] ; } ?> <body id="<?php $this->BcBaser->contentsName(false, array('underscore'=>true,'default'=>$contentsNameDefault)) ?>">
と書き換える、contentsNameメソッドの引数で、defaultの値を強制的に書き換えてる挙動です。
内部的には、
lib/Baser/View/Helper/BcBaserHelper.php の1351行目あたり、getContentsNameメソッドの
public function getContentsName($detail = false, $options = array()) { $options = array_merge(array( 'home' => 'Home', 'default' => 'Default' , 'error' => 'Error', 'underscore' => false), $options);
の'default' => 'Default'の部分を上書きして上げている状態になります。
これでだいたいの挙動は網羅できると思います。