2016-07-22 10 views
2

Ist es möglich, Bilder in Yii2 Bootstrap Nav Bar Menüelemente hinzuzufügen? In official doc habe ich keine Option gefunden.Yii2 Nav Bar Bilder in Menüoptionen hinzufügen

Ich möchte Bilder anstelle von Label-Text anzeigen!

Nav Barcode ist.

<?php 
    NavBar::begin([ 
     'brandLabel' => 'My Company', 
     'brandUrl' => Yii::$app->homeUrl, 
     'options' => [ 
      'class' => 'navbar-inverse navbar-fixed-top', 
     ], 
    ]); 

    $menuItems = []; 

    $menuItems[] = [ 
      'label' => Yii::t('app','Language'), 
      'items' => [ 
       [ 
        'label' => 'English', 
        'url' => ['site/language','set'=>'en'], 
       ], 

       '<li class="divider"></li>', 

       [ 
        'label' => 'Danmark', 
        'url' => ['site/language','set'=>'da'], 
       ], 

       ], 
     ]; 

Antwort

1

, wenn ein Symbol, das Sie Symbol

$menuItems[] = [ 
     'label' => Yii::t('app','Language'), 
     'items' => [ 
      [ 
       'label' => 'English', 
       'url' => ['site/language','set'=>'en'], 
       'icon'=> 'cog', 
      ], 

wenn ein img und der HTML-Code in Etikett

$menuItems[] = [ 
     'label' => Yii::t('app','Language'), 
     'items' => [ 
      [ 
       'label' => '<img src="smiley.gif" ><span>sample</span>', 
       'url' => ['site/language','set'=>'en'], 
      ], 

Ich benutze

use yii\bootstrap\Nav; 
use yii\bootstrap\NavBar; 

verwenden können, und Sie sollten eingestellt die 'encodeLabels' => false,

 echo Nav::widget([ 
      'options' => ['class' => 'navbar-nav navbar-right'], 
      'items' => $menuItems, 
      'encodeLabels' => false, 
     ]); 
+0

'label' => ' Probe', band ich dies aber es zeigt den HTML, wie es 'ist Probe' –

+0

seltsam diese Arbeit fo für mich .. Ich navbar-Widget verwenden – scaisEdge

+0

Can bitte posten sie ihren nav barcode! Möglicherweise haben Sie einige zusätzliche Optionen festgelegt. –

2

ein Image-Tag auf die 'Brandlabel' Einstellung hinzufügen:

NavBar::begin([ 
    'brandLabel' => '<img id="logo" src="/img/logo.svg" alt="logo">', 
    'brandUrl' => Yii::$app->homeUrl, 
    'options' => [ 
     'class' => 'navbar', 
    ], 
]); 
1

Add 'encodeLabels' => false, als Attribut für Nav :: Widget. Oder es wird den Code nicht in HTML konvertieren und er wird ihn als String betrachten und er wird so angezeigt, wie er innerhalb des Labels angegeben ist.

echo Nav::widget([ 
    'options' => ['class' => 'navbar-nav navbar-left'], 
    'encodeLabels' => false, 
    'items' => [ 
     [ 
      'label' => '<span class="glyphicon glyphicon-home"></span>', 
      'url' => ['/site/dashboard'], 
     ], 
    ] // Close of items 
    ]); // Close of Nav::Widget.