Php 如何在yii中添加HTML CMenu

Php 如何在yii中添加HTML CMenu,php,yii,Php,Yii,希望你们都做得很好。我一直在尝试在Yii模板中实现CMenu。我在用 $this->widget('zii.widgets.CMenu', array( 'items'=>$this->menu, 'htmlOptions'=>array('class'=>'collapse','id'=>'component-nav'), )); 我想把我的HTML输出显示为 <li class=""><a

希望你们都做得很好。我一直在尝试在Yii模板中实现CMenu。我在用

$this->widget('zii.widgets.CMenu', array(
            'items'=>$this->menu,
            'htmlOptions'=>array('class'=>'collapse','id'=>'component-nav'),
));
我想把我的HTML输出显示为

<li class=""><a href="icon.html"><i class="icon-angle-right"></i> List Registration </a></li>
  • 但我不能在标签旁边插入此部分:
    ,即“列表注册”。是否有办法在每个项目标签旁边插入此
    html部分

    请帮帮我


    提前感谢

    我不认为Yii提供了根据类引用(yiiframework.com/doc/api/1.1/CMenu)在类中添加html元素的方法。如果您想以css方式进行此操作:

    #component-nav li a { 
         background: url('path/to/image.png') no-repeat; 
         padding-left: 30px; // depends of the width of your image 
    }
    
    快速肮脏的方式:

    $this->menu = array_map(function($item){
            $item["label"] = "<i class='icon-angle-right'></i>" . $item["label"];
            $item["encodeLabel"] = false;
            return $item;
    }, $this->menu);
    
    $this->widget('zii.widgets.CMenu', array(
                'items'=>$this->menu,
                'htmlOptions'=>array('class'=>'collapse','id'=>'component-nav'),
    ));
    
    $this->menu=array\u map(函数($item){
    $item[“label”]=.$item[“label”];
    $item[“encodeLabel”]=false;
    返回$item;
    },$this->menu);
    $this->widget('zii.widgets.CMenu',数组(
    '项目'=>$this->菜单,
    'htmlOptions'=>array('class'=>'collapse','id'=>'component-nav'),
    ));
    
    来自的信息

  • 禁用HTML编码
    'encodeLabel'=>false,
  • 子菜单更改类
    'subnumuthmloptions'=>array('class'=>'下拉菜单',)
  • 使用标签属性
    'label'=>'Admin',
    对引导非常有用
  • 对正确的地址使用YII url属性,即
    'url'=>数组('site/logout'),

  • 在css样式表中这样做不是更容易吗?我假设您想在菜单文本旁边显示一个图标(或任何其他图像)?是吗?@davey是的,我想在菜单文本之前显示一个图标。几乎没有其他选择,但我的设计就是这样构建的。所以我尝试在菜单中插入这个HTML部分。你有什么想法或建议吗?请评论这篇文章。谢谢,我明白了,我不认为Yii提供了一种将html元素添加到a)中的方法。如果你想用css的方式来做:
    #组件导航a{background:url('path/to/image.png')不重复;左边填充:30px;}
    谢谢你的信息。好的,我会通过CSS完成。谢谢我朋友的帮助。我已经做到了,这是一个很好的解决方案。只需添加行
    $item[“encodeLabel”]=false编码到
    $this->widget('zii.widgets.CMenu',数组('items'=>$this->menu,'htmlOptions'=>array('class'=>'collapse','id'=>'component-nav'))对不起,我接受了它一次工作,但不知道它是如何改变的。我是新来的。不过,我现在已经接受了。再次感谢:)