Класс yii\bootstrap\Nav
| Наследование | yii\bootstrap\Nav » yii\bootstrap\Widget » yii\base\Widget » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface |
| Использует трейты | yii\bootstrap\BootstrapWidgetTrait |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-bootstrap/blob/master/Nav.php |
Nav отображает компонент HTML nav.
Например:
echo Nav::widget([
'items' => [
[
'label' => 'Home',
'url' => ['site/index'],
'linkOptions' => [...],
],
[
'label' => 'Dropdown',
'items' => [
['label' => 'Level 1 - Dropdown A', 'url' => '#'],
'<li class="divider"></li>',
'<li class="dropdown-header">Dropdown Header</li>',
['label' => 'Level 1 - Dropdown B', 'url' => '#'],
],
],
[
'label' => 'Login',
'url' => ['site/login'],
'visible' => Yii::$app->user->isGuest
],
],
'options' => ['class' =>'nav-pills'], // set this to nav-tab to get tab-styled navigation
]);
Примечание: Многоуровневые раскрывающиеся меню за пределами уровня 1 не поддерживаются в Bootstrap 3.
См. также:
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $activateItems | boolean | Автоматически активировать элементы в соответствии с тем, соответствует ли их путь текущему запрошенному пути. | yii\bootstrap\Nav |
| $activateParents | boolean | Активировать родительские элементы меню, когда один из соответствующих дочерних элементов меню активен. | yii\bootstrap\Nav |
| $autoIdPrefix | string | Префикс для автоматически сгенерированных идентификаторов виджета. | yii\base\Widget |
| $behaviors | yii\base\Behavior[] | Список прикрепленных к этому компоненту поведений. | yii\base\Component |
| $clientEvents | array | Обработчики событий для базового плагина Bootstrap JS. | yii\bootstrap\BootstrapWidgetTrait |
| $clientOptions | array | Параметры для базового плагина Bootstrap JS. | yii\bootstrap\BootstrapWidgetTrait |
| $counter | integer | Счетчик, используемый для генерации $id для виджетов. | yii\base\Widget |
| $dropDownCaret | string | Это свойство позволяет настраивать HTML, используемый для генерации символа раскрывающегося списка, который отображается рядом с текстом кнопки для обозначения функциональности раскрывающегося списка. | yii\bootstrap\Nav |
| $dropdownClass | string | Имя класса для отображения раскрывающихся списков в этом виджете. | yii\bootstrap\Nav |
| $encodeLabels | boolean | Нужно ли кодировать метки элементов nav. | yii\bootstrap\Nav |
| $id | string | Идентификатор виджета. | yii\base\Widget |
| $items | array | Список элементов в виджете nav. | yii\bootstrap\Nav |
| $options | array | Атрибуты HTML для тега контейнера виджета. | yii\bootstrap\Widget |
| $params | array | Параметры, используемые для определения активности элемента меню. | yii\bootstrap\Nav |
| $route | string | Маршрут, используемый для определения активности элемента меню. | yii\bootstrap\Nav |
| $stack | yii\base\Widget[] | Виджеты, которые в настоящее время отображаются (не завершены). | yii\base\Widget |
| $view | yii\web\View | Объект представления, который можно использовать для отображения представлений или файлов представлений. | yii\bootstrap\BootstrapWidgetTrait |
| $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\bootstrap\BootstrapWidgetTrait | |
| getViewPath() | Возвращает каталог, содержащий файлы представления для этого виджета. | yii\base\Widget |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли какой-либо обработчик, прикреплённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует виджет. | yii\bootstrap\Nav |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| render() | Выводит представление. | yii\base\Widget |
| renderFile() | Выводит файл представления. | yii\base\Widget |
| renderItem() | Отображает элемент виджета. | yii\bootstrap\Nav |
| renderItems() | Выводит элементы виджета. | yii\bootstrap\Nav |
| run() | Отображает виджет. | yii\bootstrap\Nav |
| setId() | Устанавливает идентификатор виджета. | yii\base\Widget |
| setView() | Устанавливает объект представления, используемый этим виджетом. | yii\base\Widget |
| trigger() | Вызывает событие. | yii\base\Component |
| widget() | Создаёт экземпляр виджета и запускает его. | yii\base\Widget |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| isChildActive() | Проверяет, активен ли дочерний элемент, при необходимости активируя родительский. | yii\bootstrap\Nav |
| isItemActive() | Проверяет, активен ли элемент меню. | yii\bootstrap\Nav |
| registerClientEvents() | Регистрирует обработчики событий JavaScript, перечисленные в $clientEvents. | yii\bootstrap\BootstrapWidgetTrait |
| registerPlugin() | Регистрирует конкретный плагин Bootstrap и связанные с ним события | yii\bootstrap\BootstrapWidgetTrait |
| renderDropdown() | Отображает заданные элементы в виде выпадающего списка. | yii\bootstrap\Nav |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| 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 |
Подробное описание свойств
$activateItems общедоступное свойство
Указывает, следует ли автоматически активировать элементы в зависимости от того, соответствует ли их маршрут текущему запрошенному маршруту.
См. также isItemActive().
public boolean $activateItems = true
$activateParents общедоступное свойство
Включить родительские пункты меню, когда активен один из соответствующих дочерних пунктов меню.
public boolean $activateParents = false
$dropDownCaret свойство public
Это свойство позволяет настроить HTML, используемый для генерации символа раскрывающегося списка, который отображается рядом с текстом кнопки, чтобы указать функциональность раскрывающегося списка. По умолчанию null , что означает <span class="caret"></span> будет использоваться. Чтобы отключить символ, установите это свойство в пустую строку.
public string $dropDownCaret = null
$dropdownClass свойство public (доступно с версии 2.0.7)
Имя класса, используемого для отображения раскрывающихся списков в этом виджете. По умолчанию yii\bootstrap\Dropdown.
public string $dropdownClass = 'yii\bootstrap\Dropdown'
$encodeLabels свойство public
Нужно ли кодировать метки элементов навигации в HTML.
public boolean $encodeLabels = true
$items свойство public
Список элементов в виджете навигации. Каждый элемент массива представляет собой отдельный элемент меню, который может быть строкой или массивом со следующей структурой:
- label: строка, обязательная, метка элемента навигации.
- url: необязательный, URL элемента. По умолчанию "#".
- visible: boolean, необязательный, отображать ли этот элемент меню. По умолчанию true.
- linkOptions: массив, необязательный, атрибуты HTML ссылки элемента.
- options: массив, необязательный, атрибуты HTML контейнера элемента (LI).
- active: boolean, необязательный, нужно ли сделать элемент активным.
- dropDownOptions: массив, необязательный, опции HTML, которые будут переданы виджету yii\bootstrap\Dropdown.
- items: массив|строка, необязательный, конфигурационный массив для создания виджета yii\bootstrap\Dropdown, или строка, представляющая меню раскрывающегося списка. Обратите внимание, что Bootstrap не поддерживает вложенные подменю.
- encode: boolean, необязательный, нужно ли кодировать метку в HTML. Если задано, переопределяет параметр $encodeLabels только для этого элемента.
Если элемент меню представляет собой строку, он будет отображен непосредственно без кодирования HTML.
public array $items = []
$params свойство public
Параметры, используемые для определения активности элемента меню. Если не задано, используется $_GET.
См. также:
public array $params = null
$route свойство public
Маршрут, используемый для определения активности элемента меню. Если не задано, используется маршрут текущего запроса.
См. также:
public string $route = null
Подробное описание методов
init() метод public
Инициализирует виджет.
| public void init ( ) |
|---|
isChildActive() защищенный метод
Проверяет, активен ли дочерний элемент, при необходимости активируя родительский.
| protected массив isChildActive ( $items, &$active ) | ||
|---|---|---|
| $items | массив |
@см. items |
| $active | boolean |
Также сделать родителя активным |
| return | массив |
@см. items |
isItemActive() защищенный метод
Проверяет, активен ли элемент меню.
Это делается путем проверки, соответствуют ли $route и $params тем, которые указаны в опции url элемента меню. Когда опция url элемента меню задается в виде массива, первый элемент интерпретируется как маршрут элемента, а остальные элементы — как связанные параметры. Только когда маршрут и параметры соответствуют $route и $params соответственно, элемент меню считается активным.
| protected boolean isItemActive ( $item ) | ||
|---|---|---|
| $item | массив |
Элемент меню для проверки |
| return | boolean |
Является ли элемент меню активным |
renderDropdown() защищенный метод (доступно с версии 2.0.1)
Отображает заданные элементы как раскрывающийся список.
Этот метод вызывается для создания подменю.
| protected строка renderDropdown ( $items, $parentItem ) | ||
|---|---|---|
| $items | массив |
Заданные элементы. Обратитесь к yii\bootstrap\Dropdown::$items для структуры массива. |
| $parentItem | массив |
Информация о родительском элементе. Обратитесь к $items для структуры этого массива. |
| return | строка |
Результат отображения. |
renderItem() метод public
Отображает элемент виджета.
| public строка renderItem ( $item ) | ||
|---|---|---|
| $item | строка|массив |
Элемент для отображения. |
| return | строка |
Результат отображения. |
| throws | yii\base\InvalidConfigException | |
renderItems() метод public
Отображает элементы виджета.
| public void renderItems ( ) |
|---|
run() метод public
Отображает виджет.
| public void run ( ) |
|---|
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-bootstrap-nav.html