1

我正在尝试在 TBMenu 中使用 Facebook 个人资料图片 - 作为菜单项 - 使用 Yii-Bootstrap。但是,我没有在菜单上显示图像,而是看到显示的 HTML 代码类似于

在下面的代码中,这是 $imageUrl 变量。

    if (Yii::app()->user->getState(isFacebook)) {
    $imageUrl = "<img src='" . Yii::app()->facebook->getProfilePicture(array('height'=>20,'width'=>20)) . "'>"; 
}
    $this->widget('bootstrap.widgets.TbNavbar',array(
    'brand'=>"<img src='/images_static/logo.png'>",
    'brandUrl'=>array('/site/index'),
    'brandOptions'=> '', 
    'type'=>'',
    'fluid'=>false,
    'collapse'=>true,
    'items'=>array(
        array(
            'class'=>'bootstrap.widgets.TbMenu',
            'items'=>array(
                array('label'=>'Annonces', 'items'=>array(
                    array('label'=>'Déposer une annonce', 'url'=>array('/annonce/create')),
                    array('label'=>'Voir les annonces', 'url'=>array('/annonce/index')),
                    )
                ),
                array('label'=>'Annuaire Pro', 'items'=>array(
                    array('label'=>'Référencer votre activité', 'url'=>array('/annuaire/create')),
                    array('label'=>'Voir les activités', 'url'=>array('/annuaire/index')),
                    )
                ),
            ),
        ),
        array(
            'class'=>'bootstrap.widgets.TbMenu',
            'htmlOptions'=>array('class'=>'pull-right'),
            'items'=>array(
                array('label'=>'Idenfitiez-vous', 'url'=>array('/account/login'), 'visible'=>Yii::app()->user->isGuest),
                array('label'=>'Inscrivez-vous', 'url'=>array('/account/register'), 'visible'=>Yii::app()->user->isGuest),
                array('label'=>$imageUrl, 'visible'=>Yii::app()->user->getState(isFacebook), 'items'=>array(
                        array('label'=>'Mes contenus', 'url'=>array('/account/index')),
                        array('label'=>'Se déconnecter', 'url'=>array('/account/logout')),
                        ),
                array('label'=>Yii::app()->user->name, 'visible'=>!Yii::app()->user->getState(isFacebook), 'items'=>array(
                        array('label'=>'Mes contenus', 'url'=>array('/account/index')),
                        array('label'=>'Changer mon mot de passe', 'url'=>array('/account/changepassword')),
                        array('label'=>'Se déconnecter', 'url'=>array('/account/logout')),
                        ),
                    ),
                ),
            ),
        ),
    ),
)); 
4

1 回答 1

2

您应该尝试将encodeLabel(默认为 true)设置为 false :

$this->widget('bootstrap.widgets.TbNavbar',array(
  'encodeLabel'=>false,
  .....
));
于 2013-04-08T06:48:40.490 回答