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

クラス リファレンス (yiiframework.com/doc/api/1.1/CMenu) に従って、Yii が 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 に答える