【CakePHP2.3】パンくずリストを生成する方法。

HtmlHelper::addCrumb()、HtmlHelper::getCrumbs()、HtmlHelper::getCrumbList()を利用すると便利。

■関数定義

$this->Html->addCrumb($name, $link, $options)
$this->Html->getCrumbs($separator, $startText)
$this->Html->getCrumbList($options, $startText)

 

■引数詳細

・addCrumb()

※パンくずリストを追加する

引数 初期値 詳細
$name 省略不可 項目のテキストそ指定
$link null 項目のリンク先を指定。文字列または配列形式。link()メソッドの引数と同じ形式が利用可能
$options null link()メソッドに渡す追加オプション

 

・getCrumbs()

※パンくずリストを生成する

引数 初期値 詳細
$separator ‘»’ パンくずリストの区切り文字を指定
$startText false パンくずの先頭項目を指定。文字列の場合リンクが「/」になる。連想配列を渡す場合、キー「url」でURL、「startText」でテキストを指定できる。「url」をfalseにするとリンクを無効にでき、「startText」をfalseにすると追加処理を無視することが可能

 

・getCrumbList()

※ul/liタグを用いてパンくずリストを生成する

引数 初期値 詳細
$options array() ul/liタグに含めるオプションを指定する。詳細は下記表を参照
$startText false パンくずの先頭項目を指定。文字列の場合リンクが「/」になる。連想配列を渡す場合、キー「url」でURL、「startText」でテキストを指定できる。「url」をfalseにするとリンクを無効にでき、「startText」をfalseにすると追加処理を無視することが可能

※$optionsで指定可能なプロパティ一覧

キー 初期値 詳細
firstClass ‘first’ 最初の項目に指定するCSSクラス名
lastClass ‘last’ 最後の項目に指定するCSSクラス名
separator パンくずリストの区切り文字

以下例。

■パンくずを追加する際。

$this->Html->addCrumb('hoge', array('controller' => 'piyo', 'action' => 'fuga'));

■パンくずを出力する際

$this->Html->getCrumbList(array(), 'Home')

これめっちゃ便利ですやん。素敵やん。