如何在Yii CMenu标签中添加原始HTML

dok*_*dus 11 html yii cmenu

我使用CMenu小部件创建了一个类似Twitter Bootstrap导航栏的菜单:

<?php 
    $this->widget( 'zii.widgets.CMenu', array(
    'items' => array(
        array(
            'label' => 'Home', 
            'url' => array( '/site/index' ), 
        ),
        array( 
            'label' => 'Dropdown <b class="caret"></b>', 
            'url' => '#',
            'submenuOptions' => array( 'class' => 'dropdown-menu' ),
            'items' => array( 
                array( 
                    'label' => 'Submenu Item 1', 
                    'url' => array( '/user/create' ), 
                ),
                array( 
                    'label' => 'Submenu Item 1', 
                    'url' => array( '/user/list' ), 
                ),
            ),
            'itemOptions' => array( 'class' => 'dropdown' ),
            'linkOptions' => array( 'class' => 'dropdown-toggle', 'data-toggle' => 'dropdown' ),
        ),
        'htmlOptions' => array( 'class' => 'nav' ),
    )); ?>
Run Code Online (Sandbox Code Playgroud)

此代码生成菜单,其中包含2个项目和第二个菜单项的1个子菜单.精细.但唯一不起作用的是'label' => 'Dropdown <b class="caret"></b>',第9行.它Dropdown &lt;b class=&quot;caret&quot;&gt;&lt;/b&gt;在页面上呈现.所以我看到了标题'Dropdown <b class="caret"></b>'而不是Dropdown ?.

如何更改代码以在菜单标签中显示未转义的HTML?

感谢您的关注.

dIn*_*0nG 22

你必须设置encodeLabel的属性CMenufalse

<?php
$this->widget('zii.widgets.CMenu', array(
    'encodeLabel' => false,
    'htmlOptions' => array('class' => 'nav'),
    'items' => array(
        array(
            'label' => 'Home',
            'url' => array('/site/index'),
        ),
        array(
            'label' => 'Dropdown <b class="caret"></b>',
            'url' => '#',
            'submenuOptions' => array('class' => 'dropdown-menu'),
            'items' => array(
                array(
                    'label' => 'Submenu Item 1',
                    'url' => array('/user/create'),
                ),
                array(
                    'label' => 'Submenu Item 1',
                    'url' => array('/user/list'),
                ),
            ),
            'itemOptions' => array('class' => 'dropdown'),
            'linkOptions' => array('class' => 'dropdown-toggle', 'data-toggle' => 'dropdown'),
        ),
    ),
));
?>
Run Code Online (Sandbox Code Playgroud)