我想在导航菜单中使用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',
));
答案 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)
),
),
),
));