Spec-Zone.ru › Yii 2.0

Класс 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

если $link не содержит элемента "label".

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API