Класс yii\widgets\Breadcrumbs
| Наследование | yii\widgets\Breadcrumbs » yii\base\Widget » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/widgets/Breadcrumbs.php |
Breadcrumbs отображает список ссылок, указывающих на положение текущей страницы в иерархии всего сайта.
Например, хлебные крошки, такие как "Главная / Статья / Редактировать", означают, что пользователь просматривает страницу редактирования статьи "Статья". Он может нажать на "Статья", чтобы перейти на эту страницу, или нажать на "Главная", чтобы вернуться на главную страницу.
Для использования Breadcrumbs необходимо настроить свойство $links, которое указывает на отображаемые ссылки. Например,
// $this is the view object currently being used
echo Breadcrumbs::widget([
'itemTemplate' => "<li><i>{link}</i></li>\n", // template for all links
'links' => [
[
'label' => 'Post Category',
'url' => ['post-category/view', 'id' => 10],
'template' => "<li><b>{link}</b></li>\n", // template for this link only
],
['label' => 'Sample Post', 'url' => ['post/edit', 'id' => 1]],
'Edit',
],
]);
Поскольку хлебные крошки обычно отображаются на почти каждой странице сайта, вы можете поместить их в макет представления. Вы можете использовать параметр представления (например, $this->params['breadcrumbs']) для настройки ссылок в разных представлениях. В представлении макета вы можете присвоить этот параметр представления свойству $links следующим образом:
// $this is the view object currently being used
echo Breadcrumbs::widget([
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
]);
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $activeItemTemplate | string | Шаблон, используемый для отображения каждого активного элемента в хлебных крошках. | yii\widgets\Breadcrumbs |
| $autoIdPrefix | string | Префикс для автоматически сгенерированных идентификаторов виджетов. | yii\base\Widget |
| $behaviors | yii\base\Behavior[] | Список присоединенных к этому компоненту поведений. | yii\base\Component |
| $counter | integer | Счетчик, используемый для генерации $id для виджетов. | yii\base\Widget |
| $encodeLabels | boolean | Выполнять ли HTML-кодирование меток ссылок. | yii\widgets\Breadcrumbs |
| $homeLink | array | Первая гиперссылка в хлебных крошках (также известна как домашняя ссылка). | yii\widgets\Breadcrumbs |
| $id | string | Идентификатор виджета. | yii\base\Widget |
| $itemTemplate | string | Шаблон, используемый для отображения каждого неактивного элемента в хлебных крошках. | yii\widgets\Breadcrumbs |
| $links | array | Список ссылок, которые должны отображаться в хлебных крошках. | yii\widgets\Breadcrumbs |
| $options | array | HTML атрибуты для тега контейнера хлебных крошек. | yii\widgets\Breadcrumbs |
| $stack | yii\base\Widget[] | Виджеты, которые в настоящее время отображаются (не завершены). | yii\base\Widget |
| $tag | string | Имя тега контейнера хлебных крошек. | yii\widgets\Breadcrumbs |
| $view | yii\web\View | Объект представления, который может использоваться для отображения представлений или файлов представлений. | yii\base\Widget |
| $viewPath | string | Директория, содержащая файлы представлений для этого виджета. | yii\base\Widget |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| afterRun() | Этот метод вызывается сразу после выполнения виджета. | yii\base\Widget |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| beforeRun() | Этот метод вызывается непосредственно перед выполнением виджета. | yii\base\Widget |
| begin() | Начало работы виджета. | yii\base\Widget |
| behaviors() | Возвращает список поведений, которые должен демонстрировать этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| end() | Окончание работы виджета. | yii\base\Widget |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| getId() | Возвращает идентификатор виджета. | yii\base\Widget |
| getView() | Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представлений. | yii\base\Widget |
| getViewPath() | Возвращает директорию, содержащую файлы представлений для этого виджета. | yii\base\Widget |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Widget |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| render() | Рендерит представление. | yii\base\Widget |
| renderFile() | Рендерит файл представления. | yii\base\Widget |
| run() | Рендерит виджет. | yii\widgets\Breadcrumbs |
| setId() | Устанавливает идентификатор виджета. | yii\base\Widget |
| setView() | Устанавливает объект представления, который будет использоваться этим виджетом. | yii\base\Widget |
| trigger() | Вызывает событие. | yii\base\Component |
| widget() | Создаёт экземпляр виджета и выполняет его. | yii\base\Widget |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| renderItem() | Рендерит одну ссылку хлебных крошек. | yii\widgets\Breadcrumbs |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_RUN | yii\base\WidgetEvent | Событие, генерируемое сразу после выполнения виджета. (доступно начиная с версии 2.0.11) | yii\base\Widget |
| EVENT_BEFORE_RUN | yii\base\WidgetEvent | Событие, генерируемое непосредственно перед выполнением виджета. (доступно начиная с версии 2.0.11) | yii\base\Widget |
| EVENT_INIT | yii\base\Event | Событие, которое срабатывает при инициализации виджета через init(). (доступно начиная с версии 2.0.11) | yii\base\Widget |
Подробное описание свойств
$activeItemTemplate публичное свойство
Шаблон, используемый для рендеринга каждого активного элемента в хлебных ссылках. Токен {link} будет заменён фактической HTML-ссылкой для каждого активного элемента.
public string $activeItemTemplate = "<li class=\"active\">{link}</li>\n"
$encodeLabels публичное свойство
Нужно ли кодировать метки ссылок в HTML.
public boolean $encodeLabels = true
$homeLink публичное свойство
Первая гиперссылка в хлебных ссылках (называемая домашней ссылкой). Обратитесь к $links для формата ссылки. Если это свойство не задано, по умолчанию это ссылка, ведущая на yii\web\Application::$homeUrl с меткой «Главная». Если это свойство равно false, домашняя ссылка не будет отображаться.
public array $homeLink = null
$itemTemplate публичное свойство
Шаблон, используемый для рендеринга каждого неактивного элемента в хлебных ссылках. Токен {link} будет заменён фактической HTML-ссылкой для каждого неактивного элемента.
public string $itemTemplate = "<li>{link}</li>\n"
$links публичное свойство
Список ссылок, которые должны отображаться в хлебных ссылках. Если это свойство пустое, виджет ничего не отобразит. Каждый элемент массива представляет собой отдельную ссылку в хлебных ссылках со следующей структурой:
[
'label' => 'label of the link', // required
'url' => 'url of the link', // optional, will be processed by Url::to()
'template' => 'own template of the item', // optional, if not set $this->itemTemplate will be used
]
Если ссылка активна, вам нужно указать только «label», и вместо написания ['label' => $label], вы можете просто использовать $label.
С версии 2.0.1 любые дополнительные элементы массива для каждого ссылки будут обрабатываться как атрибуты тега гиперссылки. Например, следующее описание ссылки сгенерирует гиперссылку с CSS классом external:
[
'label' => 'demo',
'url' => 'http://example.com',
'class' => 'external',
]
С версии 2.0.3 каждая отдельная ссылка может переопределить глобальный параметр $encodeLabels следующим образом:
[
'label' => '<strong>Hello!</strong>',
'encode' => false,
]
public array $links = []
$options общественное свойство
Атрибуты HTML для тега контейнера хлебных крошек.
См. также yii\helpers\Html::renderTagAttributes() для подробностей о том, как рендерятся атрибуты.
public array $options = ['class' => 'breadcrumb']
$tag общественное свойство
Имя тега контейнера хлебных крошек.
public string $tag = 'ul'
Подробное описание методов
renderItem() защищённый метод
Отображает один элемент хлебных крошек.
| защищённый строка renderItem ( $link, $template ) | ||
|---|---|---|
| $link | массив |
Ссылка, подлежащая отображению. Она должна содержать элемент "label". Элемент "url" является необязательным. |
| $template | строка |
Шаблон, используемый для отображения ссылки. Токен "{link}" будет заменён ссылкой. |
| return | строка |
Результат рендеринга |
| throws | yii\base\InvalidConfigException |
если |
run() публичный метод
Отображает виджет.
| публичный void run ( ) |
|---|
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-widgets-breadcrumbs.html