Yii 2.0 Widget元素选项

Kar*_*Dog 1 html php tags yii2 yii-widgets

所以我有一个listView小部件,显示文本列表

echo Menu::widget([
                   'options' => ['class'=>'nav navbar-nav side-nav'], 
                   'items'   => [
                       ['label' =>'Dashboard', ],
                       ['label' => 'Products'],
                   ]
                ]);
Run Code Online (Sandbox Code Playgroud)

当我打开浏览器时,结果是:

<ul class="nav navbar-nav side-nav">
   <li>Dashboard</li>
   <li>Products</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如何在<li>下面添加html元素:

<ul class="nav navbar-nav side-nav">
     <li><i class='fap fap-dashboard'>Dashboard</i></li>
     <li><b class='fap fap-product'>Products</b></li>
 </ul>
Run Code Online (Sandbox Code Playgroud)

通过使用小部件?

我已经尝试在label旁边放置另一个item元素,但是它创建了另一个<ul>元素,我也尝试在label旁边使用'options',而是改变li属性(不在其中创建)

vit*_*_74 5

为了实现目标,您需要设置encodeLabels属性false(请参阅参考资料).像这样的代码(它是工作代码):

 Menu::widget([
                'options' => ['class'=>'nav navbar-nav side-nav', 'format' => 'raw'],
                'encodeLabels' => false,
                'items'   => [
                    ['label' => Html::tag('i', 'Dashboard',['class' => 'fap fap-dashboard'])],
                    ['label' => Html::tag('b', 'Products',['class' => 'fap fap-product'])],
                ]
            ]);
Run Code Online (Sandbox Code Playgroud)