Class hscstudio\heart\widgets\Nav
Inheritance | hscstudio\heart\widgets\Nav » yii\bootstrap\Widget |
---|---|
Available since version | 2.0 |
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' => '#'],
'<li class="divider"></li>',
'<li class="dropdown-header">Dropdown Header</li>',
['label' => 'Level 1 - Dropdown B', 'url' => '#'],
],
],
],
]);
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. | hscstudio\heart\widgets\Nav |
$activateParents | boolean | Whether to activate parent menu items when one of the corresponding child menu items is active. | hscstudio\heart\widgets\Nav |
$encodeLabels | boolean | Whether the nav items labels should be HTML-encoded. | hscstudio\heart\widgets\Nav |
$items | array | List of items in the nav widget. | hscstudio\heart\widgets\Nav |
$params | array | The parameters used to determine if a menu item is active or not. | hscstudio\heart\widgets\Nav |
$position | hscstudio\heart\widgets\Nav | ||
$route | string | The route used to determine if a menu item is active or not. | hscstudio\heart\widgets\Nav |
Public Methods
Method | Description | Defined By |
---|---|---|
init() | Initializes the widget. | hscstudio\heart\widgets\Nav |
renderItem() | Renders a widget's item. | hscstudio\heart\widgets\Nav |
renderItems() | Renders widget items. | hscstudio\heart\widgets\Nav |
run() | Renders the widget. | hscstudio\heart\widgets\Nav |
Protected Methods
Method | Description | Defined By |
---|---|---|
isChildActive() | Check to see if a child item is active optionally activating the parent. | hscstudio\heart\widgets\Nav |
isItemActive() | Checks whether a menu item is active. | hscstudio\heart\widgets\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.
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: boolean, 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: boolean, optional, whether the item should be on active state or not.
- items: array|string, optional, the configuration array for creating a hscstudio\heart\widgets\Dropdown widget, or a string representing the dropdown menu. Note that Bootstrap does not support sub-dropdown menus.
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.
void init( ) |
Check to see if a child item is active optionally activating the parent.
array isChildActive( $items, <b>&</b>$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.
boolean isItemActive( $item ) | ||
$item | array | The menu item to be checked |
return | boolean | Whether the menu item is active |
---|
Renders a widget's item.
string renderItem( $item ) | ||
$item | string|array | The item to render. |
return | string | The rendering result. |
---|---|---|
throws | \yii\base\InvalidConfigException |
Renders widget items.
void renderItems( ) |
Renders the widget.
void run( ) |