mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-27 04:10:30 +08:00
yii\widgets\Breadcrumbs enhancement. Allow link to have its ownTemplate
This commit is contained in:
@@ -24,7 +24,13 @@ use yii\helpers\Html;
|
|||||||
* ~~~
|
* ~~~
|
||||||
* // $this is the view object currently being used
|
* // $this is the view object currently being used
|
||||||
* echo Breadcrumbs::widget([
|
* echo Breadcrumbs::widget([
|
||||||
|
* 'itemTemplate' => "<li><i>{link}</i></li>\n", // template for all links
|
||||||
* 'links' => [
|
* 'links' => [
|
||||||
|
* [
|
||||||
|
* 'label' => 'Post Category',
|
||||||
|
* 'url' => ['post-category/view', 'id' => 10],
|
||||||
|
* 'ownTemplate' => '<li><b>{link}</b></li>\n', // template for this link only
|
||||||
|
* ],
|
||||||
* ['label' => 'Sample Post', 'url' => ['post/edit', 'id' => 1]],
|
* ['label' => 'Sample Post', 'url' => ['post/edit', 'id' => 1]],
|
||||||
* 'Edit',
|
* 'Edit',
|
||||||
* ],
|
* ],
|
||||||
@@ -76,6 +82,7 @@ class Breadcrumbs extends Widget
|
|||||||
* [
|
* [
|
||||||
* 'label' => 'label of the link', // required
|
* 'label' => 'label of the link', // required
|
||||||
* 'url' => 'url of the link', // optional, will be processed by Url::to()
|
* 'url' => 'url of the link', // optional, will be processed by Url::to()
|
||||||
|
* 'ownTemplate' => 'own template of the current item', // optional, if not set $this->itemTemplate will be used
|
||||||
* ]
|
* ]
|
||||||
* ~~~
|
* ~~~
|
||||||
*
|
*
|
||||||
@@ -135,9 +142,9 @@ class Breadcrumbs extends Widget
|
|||||||
throw new InvalidConfigException('The "label" element is required for each link.');
|
throw new InvalidConfigException('The "label" element is required for each link.');
|
||||||
}
|
}
|
||||||
if (isset($link['url'])) {
|
if (isset($link['url'])) {
|
||||||
return strtr($template, ['{link}' => Html::a($label, $link['url'])]);
|
return strtr(isset($link['ownTemplate']) ? $link['ownTemplate'] : $template, ['{link}' => Html::a($label, $link['url'])]);
|
||||||
} else {
|
} else {
|
||||||
return strtr($template, ['{link}' => $label]);
|
return strtr(isset($link['ownTemplate']) ? $link['ownTemplate'] : $template, ['{link}' => $label]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user