Class yii\bootstrap4\Nav
Inheritance | yii\bootstrap4\Nav » yii\bootstrap4\Widget » yii\base\Widget |
---|---|
Uses Traits | yii\bootstrap4\BootstrapWidgetTrait |
Nav renders a nav HTML component.
For example:
echo Nav::widget([
'items' => [
[
'label' => 'Home',
'url' => ['site/index'],
'linkOptions' => [...],
],
[
'label' => 'Dropdown',
'items' => [
['label' => 'Level 1 - Dropdown A', 'url' => '#'],
'<div class="dropdown-divider"></div>',
'<div class="dropdown-header">Dropdown Header</div>',
['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
]);
Note: Multilevel dropdowns beyond Level 1 are not supported in Bootstrap 3.
See also:
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$activateItems | boolean | Whether to automatically activate items according to whether their route setting matches the currently requested route. | yii\bootstrap4\Nav |
$activateParents | boolean | Whether to activate parent menu items when one of the corresponding child menu items is active. | yii\bootstrap4\Nav |
$clientEvents | array | The event handlers for the underlying Bootstrap JS plugin. | yii\bootstrap4\BootstrapWidgetTrait |
$clientOptions | array | The options for the underlying Bootstrap JS plugin. | yii\bootstrap4\BootstrapWidgetTrait |
$dropdownClass | string | Name of a class to use for rendering dropdowns within this widget. | yii\bootstrap4\Nav |
$encodeLabels | boolean | Whether the nav items labels should be HTML-encoded. | yii\bootstrap4\Nav |
$items | array | List of items in the nav widget. | yii\bootstrap4\Nav |
$options | array | The HTML attributes for the widget container tag. | yii\bootstrap4\Widget |
$params | array | The parameters used to determine if a menu item is active or not. | yii\bootstrap4\Nav |
$route | string | The route used to determine if a menu item is active or not. | yii\bootstrap4\Nav |
Public Methods
Method | Description | Defined By |
---|---|---|
getView() | yii\bootstrap4\BootstrapWidgetTrait | |
init() | Initializes the widget. | yii\bootstrap4\Nav |
renderItem() | Renders a widget's item. | yii\bootstrap4\Nav |
renderItems() | Renders widget items. | yii\bootstrap4\Nav |
run() | Renders the widget. | yii\bootstrap4\Nav |
Protected Methods
Method | Description | Defined By |
---|---|---|
isChildActive() | Check to see if a child item is active optionally activating the parent. | yii\bootstrap4\Nav |
isItemActive() | Checks whether a menu item is active. | yii\bootstrap4\Nav |
registerClientEvents() | Registers JS event handlers that are listed in $clientEvents. | yii\bootstrap4\BootstrapWidgetTrait |
registerPlugin() | Registers a specific Bootstrap plugin and the related events | yii\bootstrap4\BootstrapWidgetTrait |
renderDropdown() | Renders the given items as a dropdown. | yii\bootstrap4\Nav |
Property Details
Whether to automatically activate items according to whether their route setting matches the currently requested route.
See also isItemActive().
Whether to activate parent menu items when one of the corresponding child menu items is active.
Name of a class to use for rendering dropdowns within this widget. Defaults to yii\bootstrap4\Dropdown.
Whether the nav items labels should be HTML-encoded.
List of items in the nav widget. Each array element represents a single menu item which can be either a string or an array with the following structure:
- label: string, required, the nav item label.
- url: optional, the item's URL. Defaults to "#".
- visible: bool, optional, whether this menu item is visible. Defaults to true.
- linkOptions: array, optional, the HTML attributes of the item's link.
- options: array, optional, the HTML attributes of the item container (LI).
- active: bool, optional, whether the item should be on active state or not.
- dropdownOptions: array, optional, the HTML options that will passed to the yii\bootstrap4\Dropdown widget.
- items: array|string, optional, the configuration array for creating a yii\bootstrap4\Dropdown widget, or a string representing the dropdown menu. Note that Bootstrap does not support sub-dropdown menus.
- encode: bool, optional, whether the label will be HTML-encoded. If set, supersedes the $encodeLabels option for only this item.
If a menu item is a string, it will be rendered directly without HTML encoding.
The parameters used to determine if a menu item is active or not.
If not set, it will use $_GET
.
See also:
The route used to determine if a menu item is active or not. If not set, it will use the route of the current request.
See also:
Method Details
Initializes the widget.
public void init ( ) |
Check to see if a child item is active optionally activating the parent.
protected array isChildActive ( $items, &$active ) | ||
$items | array | @see items |
$active | boolean | Should the parent be active too |
return | array | @see items |
---|
Checks whether a menu item is active.
This is done by checking if $route and $params match that specified in the url
option of the menu item.
When the url
option of a menu item is specified in terms of an array, its first element is treated
as the route for the item and the rest of the elements are the associated parameters.
Only when its route and parameters match $route and $params, respectively, will a menu item
be considered active.
protected boolean isItemActive ( $item ) | ||
$item | array | The menu item to be checked |
return | boolean | Whether the menu item is active |
---|
Renders the given items as a dropdown.
This method is called to create sub-menus.
protected string renderDropdown ( $items, $parentItem ) | ||
$items | array | The given items. Please refer to yii\bootstrap4\Dropdown::$items for the array structure. |
$parentItem | array | The parent item information. Please refer to $items for the structure of this array. |
return | string | The rendering result. |
---|---|---|
throws | Exception |
Renders a widget's item.
public string renderItem ( $item ) | ||
$item | string|array | The item to render. |
return | string | The rendering result. |
---|---|---|
throws | \yii\base\InvalidConfigException | |
throws | Exception |
Renders widget items.
public void renderItems ( ) | ||
throws | \yii\base\InvalidConfigException |
---|
Renders the widget.
public void run ( ) | ||
throws | \yii\base\InvalidConfigException |
---|