Yii的CMenu造型

时间:2013-12-18 12:15:12

标签: php css yii

我根据我的主题设计我的CMenu。以下是我的代码。

<!-- Navigation -->
<nav id="nav">
<ul id="navlist" class="sf-menu clearfix">

<?php
$this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Contact', 'url'=>array('/site/contact')),
array('label'=>'Registration','url'=>array('/registration'),
'items'=>array(
array('label'=>'Registration','url'=>array('/registration')),
array('label'=>'Abc Registration','url'=>array('/registration/abc')),
),'visible'=>Yii::app()->user->isGuest),
array('label'=>'Login', 'url'=>array('/user/user/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
));

?>
</ul>
</nav>

生成的html如下所示

  <!-- Navigation -->
    <nav id="nav">
        <ul id="navlist" class="sf-menu clearfix">

   <ul id="yw1">


  <li><a href="/mysite/site/contact">Contact</a></li>
  <li><a href="/mysite/registration">Registration</a>
  <ul>
  <li><a href="/mysite/registration">Registration</a></li>
  <li><a href="/mysite/registration/abc">Abc Registration</a></li>
  </ul>
  </li>
  <li><a href="/mysite/user/user/login">Login</a></li>
  </ul>                
  </ul>
  </nav>
 <!-- Navigation -->

问题是Yii生成的id是yw1..i想要将其更改为'navlist'。如何自定义CMenu?

修改

我也试过在html选项中设置css类。但它只是设置类,而不是Id。所以它只给出相同的结果。

2 个答案:

答案 0 :(得分:10)

CMenu延伸CWidget。使用CWidget.id

<?php
$this->widget('zii.widgets.CMenu',array(
    'id'=> 'navlist',
    'items'=>array(
        ...

答案 1 :(得分:5)

只需在您的小部件中添加id属性

$this->widget('zii.widgets.CMenu',array(
    'id'=> 'navlist',

我不确定但是试试这个

    array('label'=>'Item1', 'url'=>"#",
     'linkOptions'=>array('id'=>'myId1'),
'submenuOptions'=>array('id'=>'myId'),