widgets/TopBar.php
protected function renderItem($item)
    {
        if (is_string($item)) {
            return $item;
        }
        if (!isset($item['label'])) {
            throw new InvalidConfigException("The 'label' option is required.");
        }
        $label       = $this->encodeLabels ? \CHtml::encode($item['label']) : $item['label'];
        $options     = ArrayHelper::getValue($item, 'options', array());
        $items       = ArrayHelper::getValue($item, 'items');
        $url         = \CHtml::normalizeUrl(ArrayHelper::getValue($item, 'url', '#'));
        $linkOptions = ArrayHelper::getValue($item, 'linkOptions', array());

        if (ArrayHelper::getValue($item, Enum::STATE_ACTIVE)) {
            ArrayHelper::addValue('class', Enum::STATE_ACTIVE, $options);
        }

        if ($items !== null) {
            Html::addCssClass($options, Enum::DROPDOWN_HAS);
            if (is_array($items)) {
                $items = Nav::dropdown($items, $this->encodeLabels);
            }
        }

        return \CHtml::tag('li', $options, \CHtml::link($label, $url, $linkOptions) . $items);
    }
protected function renderItem($item)
    {
        if (is_string($item)) {
            return $item;
        }
        if (!isset($item['label'])) {
            throw new InvalidConfigException("The 'label' option is required.");
        }
        $label       = $this->encodeLabels ? \CHtml::encode($item['label']) : $item['label'];
        $options     = ArrayHelper::getValue($item, 'options', array());
        $items       = ArrayHelper::getValue($item, 'items');
        $url         = \CHtml::normalizeUrl(ArrayHelper::getValue($item, 'url', '#'));
        $linkOptions = ArrayHelper::getValue($item, 'linkOptions', array());

        if (ArrayHelper::getValue($item, Enum::STATE_ACTIVE)) {
            ArrayHelper::addValue('class', Enum::STATE_ACTIVE, $options);
        }

        if ($items !== null) {
            Html::addCssClass($options, Enum::DROPDOWN_HAS);
            if (is_array($items)) {
                $items = Nav::dropdown($items, $this->encodeLabels);
            }
        }

        return \CHtml::tag('li', $options, \CHtml::link($label, $url, $linkOptions) . $items);
    }
protected function renderItem ( $ item ) { if ( is_string ( $ item ) ) { return $ item ; } if ( ! isset ( $ item [ 'label' ] ) ) { throw new InvalidConfigException ( "The 'label' option is required." ) ; } $ label = $ this -> encodeLabels ? \ CHtml :: encode ( $ item [ 'label' ] ) : $ item [ 'label' ] ; $ options = ArrayHelper :: getValue ( $ item , 'options' , array ( ) ) ; $ items = ArrayHelper :: getValue ( $ item , 'items' ) ; $ url = \ CHtml :: normalizeUrl ( ArrayHelper :: getValue ( $ item , 'url' , '#' ) ) ; $ linkOptions = ArrayHelper :: getValue ( $ item , 'linkOptions' , array ( ) ) ; if ( ArrayHelper :: getValue ( $ item , Enum :: STATE_ACTIVE ) ) { ArrayHelper :: addValue ( 'class' , Enum :: STATE_ACTIVE , $ options ) ; } if ( $ items !== null ) { Html :: addCssClass ( $ options , Enum :: DROPDOWN_HAS ) ; if ( is_array ( $ items ) ) { $ items = Nav :: dropdown ( $ items , $ this -> encodeLabels ) ; } } return \ CHtml :: tag ( 'li' , $ options , \ CHtml :: link ( $ label , $ url , $ linkOptions ) . $ items ) ; }
Renders a widget's item
@param mixed $item the item to render
@return string the rendering result.
@throws InvalidConfigException
Renders a widget s item