Class hscstudio\heart\widgets\NavSideMetro

Inheritancehscstudio\heart\widgets\NavSideMetro » yii\bootstrap\Widget
Available since version2.0

Nav renders a nav HTML component.

For example:

echo NavSide::widget([
    
'items' => [
        [
            
'icon' => 'fa fa-home',
            
'label' => 'Home',
            
'badge' => 'new',
            
'badgeClass' => 'pull-right bg-green'// default badge
            
'url' => ['site/index'],
            
'linkOptions' => [...],
        ],
        [
            
'label' => 'Dropdown',
            
'items' => [
                 [
'label' => 'Level 1 - Dropdown A''url' => '#'],
                 [
'label' => 'Level 1 - Dropdown B''url' => '#'],
            ],
        ],
    ],
]);

Note: Multilevel dropdowns beyond Level 1 are not supported in Bootstrap 3.

See also:

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$activateItems boolean Whether to automatically activate items according to whether their route setting matches the currently requested route. hscstudio\heart\widgets\NavSideMetro
$activateParents boolean Whether to activate parent menu items when one of the corresponding child menu items is active. hscstudio\heart\widgets\NavSideMetro
$encodeLabels boolean Whether the nav items labels should be HTML-encoded. hscstudio\heart\widgets\NavSideMetro
$items array List of items in the nav widget. hscstudio\heart\widgets\NavSideMetro
$params array The parameters used to determine if a menu item is active or not. hscstudio\heart\widgets\NavSideMetro
$route string The route used to determine if a menu item is active or not. hscstudio\heart\widgets\NavSideMetro

Public Methods

Hide inherited methods

MethodDescriptionDefined By
init() Initializes the widget. hscstudio\heart\widgets\NavSideMetro
renderItem() Renders a widget's item. hscstudio\heart\widgets\NavSideMetro
renderItems() Renders widget items. hscstudio\heart\widgets\NavSideMetro
run() Renders the widget. hscstudio\heart\widgets\NavSideMetro

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
isChildActive() Check to see if a child item is active optionally activating the parent. hscstudio\heart\widgets\NavSideMetro
isItemActive() Checks whether a menu item is active. hscstudio\heart\widgets\NavSideMetro

Property Details

$activateItems public property

Whether to automatically activate items according to whether their route setting matches the currently requested route.

See also isItemActive().

$activateParents public property

Whether to activate parent menu items when one of the corresponding child menu items is active.

$encodeLabels public property

Whether the nav items labels should be HTML-encoded.

$items public property

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.

$params public property
array $params null

The parameters used to determine if a menu item is active or not. If not set, it will use $_GET.

See also:

$route public property
string $route null

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

init() public method

Initializes the widget.

void init( )
isChildActive() protected method

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

isItemActive() protected method

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

renderItem() public method

Renders a widget's item.

string renderItem$item )
$item string|array

The item to render.

return string

The rendering result.

throws \yii\base\InvalidConfigException
renderItems() public method

Renders widget items.

void renderItems( )
run() public method

Renders the widget.

void run( )