Программирование, веб-кодинг

Breadcrumbs (хлебные крошки) в Yii2.

Breadcrumbs (хлебные крошки) в Yii2.

Обычно хлебные крошки размещают в макете шаблона, впрочем, этот виджет можно поставить в любое место в виде, где вам надо.

Сначала подключаем класс breadcrumbs в самом начале вашего вида

use yii\widgets\Breadcrumbs;

Задаём ссылки, которые попадут в хлебные крошки. Они добавляются в массив, и, обычно, непосредственно в самом представлении.

$this->params['breadcrumbs'][] = [
    'template' => "<li><b>{link}</b></li>\n", // шаблон для этой ссылки  
    'label' => 'Категория', // название ссылки 
    'url' => ['/category'] // сама ссылка
                                 ];
$this->params['breadcrumbs'][] = ['label' => 'Подкатегория', 'url' => ['/category/subcategory']];
$this->params['breadcrumbs'][] = Yii::$app->controller->substr_content($this->title, '90');

Здесь последний элемент это не ссылка, а обрезанный заголовок, чтобы нагляднее видеть место текущей страницы в цепочке крошек.

И сам вызов виджета (там, где и подключили уже класс breadcrumbs), чтобы вывести на экране цепочку ссылок.

<?= Breadcrumbs::widget([
    'homeLink' => ['label' => 'Главная', 'url' => '/course'],
    'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]) ?>

Здесь я указал в параметрах параметр 'homelink', по умолчанию он берет url приложения. Можно совсем отключить это первую ссылку на главную страницу, если указать 'homelink'=>false.

Документация по классу Breadcrumbs на оф. сайте.


Читайте также