0

希望你们一切都好。我一直在尝试在 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>

但是我不能插入这个部分:<i class="icon-angle-right"></i>在标签旁边,即“列表注册”。有没有办法<i class="icon-angle-right"></i>在项目的每个标签旁边插入这个 html 部分。

请帮助我的人。

提前致谢

4

3 回答 3

1

一种快速肮脏的方式:

$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'),
));
于 2013-10-23T12:28:41.807 回答
1

信息来自http://www.yiiframework.com/wiki/525/customizing-the-cmenu-widget/

  1. 禁用 HTML 编码'encodeLabel' => false,
  2. 子菜单更改类'submenuHtmlOptions' => array('class' => 'dropdown-menu',)
  3. 使用标签属性 'label' => '<i class="icon-user"></i><span class="username">Admin</span> <i class="icon-angle-down"></i>',对引导程序非常有用
  4. 使用 YII url 属性获取正确的地址,即'url' => array('site/logout'),
于 2013-10-23T15:48:58.467 回答
0

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

#component-nav li a { 
     background: url('path/to/image.png') no-repeat; 
     padding-left: 30px; // depends of the width of your image 
}
于 2013-10-23T12:19:46.230 回答