diff --git a/lib/Cake/View/Helper/HtmlHelper.php b/lib/Cake/View/Helper/HtmlHelper.php index fb53cf340c1..194bc31c315 100644 --- a/lib/Cake/View/Helper/HtmlHelper.php +++ b/lib/Cake/View/Helper/HtmlHelper.php @@ -681,6 +681,11 @@ public function getCrumbs($separator = '»', $startText = false) { * similar to HtmlHelper::getCrumbs(), so it uses options which every * crumb was added with. * + * ### Options + * - 'separator' Separator content to insert in between breadcrumbs, defaults to '»' + * - 'firstClass' Class for wrapper tag on the first breadcrumb, defaults to 'first' + * - 'lastClass' Class for wrapper tag on current active page, defaults to 'last' + * * @param array $options Array of html attributes to apply to the generated list elements. * @param string|array|boolean $startText This will be the first crumb, if false it defaults to first crumb in array. Can * also be an array, see `HtmlHelper::getCrumbs` for details. @@ -688,6 +693,12 @@ public function getCrumbs($separator = '»', $startText = false) { * @link http://book.cakephp.org/2.0/en/core-libraries/helpers/html.html#creating-breadcrumb-trails-with-htmlhelper */ public function getCrumbList($options = array(), $startText = false) { + $defaults = array('firstClass'=>'first', 'lastClass'=>'last', 'separator' => ''); + $options += $defaults; + $firstClass = $options['firstClass']; + $lastClass = $options['lastClass']; + $separator = $options['separator']; + unset($options['firstClass'], $options['lastClass'], $options['separator']); $crumbs = $this->_prepareCrumbs($startText); if (!empty($crumbs)) { $result = ''; @@ -701,9 +712,12 @@ public function getCrumbList($options = array(), $startText = false) { $elementContent = $this->link($crumb[0], $crumb[1], $crumb[2]); } if ($which == 0) { - $options['class'] = 'first'; + $options['class'] = $firstClass; } elseif ($which == $crumbCount - 1) { - $options['class'] = 'last'; + $options['class'] = $lastClass; + } + if (!empty($separator) && ($crumbCount - $which >= 2)) { + $elementContent .= $separator; } $result .= $this->tag('li', $elementContent, $options); }