2013-11-26 148 views
2

我想要的图标添加到我的导航栏引导警予添加字体真棒图标

这是图标我试图添加<i class="icon-fa-comments icon-3x "></i>

我目前使用这个font awesome extension和这bootstrap extension

该图标显示,当它在我的HTML,但不是当我把它添加到导航栏。任何想法我失踪?遗憾的是,Yii还是个新人,除了label之外找不到一个关键字来做我想做的事情。试图htmlOptions但没有运气太

<?php 
$this->widget('bootstrap.widgets.TbNavbar',array(
    'items'=>array(
     //'brand' => CHtml::encode(Yii::app()->name), //site name 
     //'fixed' => true, 
     array(
      'class'=>'bootstrap.widgets.TbMenu', 
      'items'=>array(
       array('label'=>'Home', 'url'=>array('/')), 
       array('label'=>'About', 'url'=>array('/about')), 
       array('label'=>'Contact', 'url'=>array('/contact')), 
       array('url'=>Yii::app()->getModule('user')->loginUrl, 'label'=>Yii::app()->getModule('user')->t("Login"), 'visible'=>Yii::app()->user->isGuest), 
       array('url'=>Yii::app()->getModule('user')->registrationUrl, 'label'=>Yii::app()->getModule('user')->t("Register"), 'visible'=>Yii::app()->user->isGuest), 
       array('url'=>Yii::app()->getModule('user')->profileUrl, 'label'=>Yii::app()->getModule('user')->t("Profile"), 'visible'=>!Yii::app()->user->isGuest), 
       array('url'=>Yii::app()->getModule('user')->logoutUrl, 'label'=>Yii::app()->getModule('user')->t("Logout").' ('.Yii::app()->user->name.')', 'visible'=>!Yii::app()->user->isGuest), 

      ), 
     ), 
     array(
      'class'=>'bootstrap.widgets.TbMenu', 
      'htmlOptions'=>array('class'=>'pull-right'), 
      'items'=>array(
       array('label'=>'<i class="icon-fa-comments icon-3x "></i>', 'url'=>'#'), 
       array('label'=>'Dropdown', 'url'=>'#', 'items'=>array(
        array('label'=>'Action', 'url'=>'#'), 
        array('label'=>'Another action', 'url'=>'#'), 
        array('label'=>'Something else here', 'url'=>'#'), 
        '---', 
        array('label'=>'Separated link', 'url'=>'#'), 
       )), 
      ), 
     ), 
    ), 
)); ?> 

回答

1

试试这个

array('icon'=>'icon-fa-comments icon-3x', 'url'=>'#'), 
+0

有什么文件?似乎无法找到一个。 – user2636556

+0

不幸的是没有文档。当我遇到同样的问题时,我在'TbMenu'源代码中发现了这个问题 – ailinykh

0

有些时候你在网页上的广场虽然已成功添加CSS文件中的字体,awesome.css。该解决方案非常简单,并且需要将字体目录(包含四个字体文件)放入放置font-awesome.css的CSS文件夹中。

字体目录包含四个其他字体文件。

fontawesome-webfont.eot

fontawesome-webfont.ttf

fontawesome-webfont.woff

FontAwesome.otf

1

为了在Yii中-2部件,如导航栏显示的图标或导航,您必须将encodeLabels设置为false。

http://www.yiiframework.com/extension/yii2-icons/

+0

谢谢!这很好。为了让别人知道,你需要在'items'数组之前设置'encodeLabels'=> false。在各个菜单元素中将encodeLabels设置为false不起作用。 – DrBorrow

0

周杰伦是正确的,但我发现很难解释跟随,所以我在这里添加代码。这是工作的解决方案是什么样子:

在PHP头(假设你已经安装了卡尔蒂克图标)

use kartik\icons\Icon; 
Icon::map($this); 
... 

在导航控件:

  echo Nav::widget([ 
      'options' => ['class' => 'navbar-nav navbar-right'], 
      'encodeLabels' => false, // declaration goes here (before the items) 
      'items' => [ 
       [ 
        'label' => Icon::show('home',[ 
         'class'=>'your-custom-class-if-needed' 
        ]), 
        'url' => ['/survey-visits/index'], 
        'visible' => !Yii::$app->user->isGuest, 
       ],