Yii在引导程序导航栏中添加字体真棒图标

dhxwm5r4  于 2022-11-09  发布在  其他
关注(0)|答案(5)|浏览(182)

我正在尝试将图标添加到引导程序导航栏
这是我试图添加的图标<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'=>'#'),
                )),
            ),
        ),
    ),
)); ?>
jchrr9hc

jchrr9hc1#

为了在Yii-2组件中显示图标,如导航栏或导航栏,您必须将encodeLabels设置为false。
http://www.yiiframework.com/extension/yii2-icons/

ahy6op9u

ahy6op9u2#

试试这个

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

huwehgph3#

有时候,虽然你已经成功地添加了css文件font-awesome.css,但网页上还是会出现方块。解决方法很简单,你只需将字体目录(包含四个字体文件)也放在你放置了font-awesome.css的CSS文件夹中。
字体目录包含四个其他字体文件。
fontawesome-webfont.eot
fontawesome-webfont.ttf
fontawesome-webfont.woff
FontAwesome.otf

ftf50wuq

ftf50wuq4#

Jay是对的,但是我发现解释很难理解,所以我在这里添加了代码。下面是工作解决方案的样子:
在php头中(假设你已经安装了kartik图标)

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,
                ],
ebdffaop

ebdffaop5#

您可以如下所示为单个元素标记编码:

array('label'=>'<i class="icon-fa-comments icon-3x "></i>', 'url'=>'#', 'encode'=>false)

相关问题