Class hscstudio\heart\widgets\NavSide

Inheritancehscstudio\heart\widgets\NavSide » 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\NavSide
$activateParents boolean Whether to activate parent menu items when one of the corresponding child menu items is active. hscstudio\heart\widgets\NavSide
$encodeLabels boolean Whether the nav items labels should be HTML-encoded. hscstudio\heart\widgets\NavSide
$items array List of items in the nav widget. hscstudio\heart\widgets\NavSide
$params array The parameters used to determine if a menu item is active or not. hscstudio\heart\widgets\NavSide
$route string The route used to determine if a menu item is active or not. hscstudio\heart\widgets\NavSide

Public Methods

Hide inherited methods

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

Protected Methods

Hide inherited methods

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

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( )