Yii Bootstrap - 菜单内的徽章

时间:2013-05-07 16:26:55

标签: twitter-bootstrap yii badge

我想在导航菜单中使用bootstrap和yii设置徽章,以显示用户有多少提醒。

    <?php $this->widget('bootstrap.widgets.TbNavbar',array(
        'items'=>array(
            array(
                'class'=>'bootstrap.widgets.TbMenu',
                'items'=>
array('label'=>'Alerts', 'url'=>array('/user/alerts')),
array(array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
                    array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
                ),
            ),
        ),
    )); ?>

我可以在里面放一个文字和徽章吗?喜欢:“3警告”..其中'3'是我的徽章?和警报将是警报页面的链接?

$this->widget('bootstrap.widgets.TbBadge', array(
            'type'=>'inverse',
            'label'=>'2',
        )); 

1 个答案:

答案 0 :(得分:2)

CBaseController :: widget的第三个参数确定是否应将窗口小部件内容捕获到变量或直接输出。默认情况下,它输出内容。 http://www.yiiframework.com/doc/api/1.1/CBaseController#widget-detail

此外,CMenu班级有encodeLabel属性http://www.yiiframework.com/doc/api/1.1/CMenu#encodeLabel-detail。将其设置为true将按原样输出标签(不进行HTML编码)

试试这个:

$badge=$this->widget('bootstrap.widgets.TbBadge', array(
    'type'=>'inverse',
    'label'=>'2',
), true);

$this->widget('bootstrap.widgets.TbNavbar',array(
    'items'=>array(
        array(
            'class'=>'bootstrap.widgets.TbMenu',
            'encodeLabel'=>false,
            'items'=>
                array(
                    array('label'=>$badge.' Alerts', 'url'=>array('/user/alerts')),
                    array('label'=>'Login', 'url'=>array('/site/login'), 'visible'=>Yii::app()->user->isGuest),
                    array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
                ),
            ),
    ),
));