在yii框架中的li标记之后添加带有类标记的span

时间:2015-02-04 10:39:06

标签: php yii

我是yii框架的新手。 我需要像这个HTML代码

的输出
<ul class="yw0">
    <li><span class="highlighter"></span><a href="#">Sign in</a>
    </li>
    <li><a href="#">Register</a>
    </li>
</ul>

代码类似于什么,但在li标记之后和标记**之前创建额外 <span class="highlighter"></span> 的确切代码是什么**

<?php $this->widget('zii.widgets.CMenu',array(
    'id'=>'menu',
        'items'=>array(                
            array('label'=>'Signin', 'url'=>array('/site/signin')),
            array('label'=>'Register', 'url'=>array('/site/register'))
        ),            
    )); ?>

2 个答案:

答案 0 :(得分:0)

最后我得到了答案。
对于全局项目

<?php $this->widget('zii.widgets.CMenu',array(
    'id'=>'menu',
    'itemTemplate' => '<span class="highlighter"></span>{menu}',
    'items'=>array(                
        array('label'=>'Signin', 'url'=>array('/site/signin')),
        array('label'=>'Register', 'url'=>array('/site/register'))
    ),            
)); ?>

单件物品

<?php $this->widget('zii.widgets.CMenu',array(
    'id'=>'menu',
    'items'=>array(                
        array('label'=>'Signin', 'url'=>array('/site/signin'), 'template' => '<span class="highlighter"></span>{menu}'),
        array('label'=>'Register', 'url'=>array('/site/register'))
    ),            
)); ?>

答案 1 :(得分:-1)

使用您自己的类扩展CMenu并覆盖renderMenuItem,例如

protected function renderMenuItem($item)
{
    $html = parent::renderMenuItem($item)
    if(isset($item['highlighter']))
    {
         $html = "<span class='highlighter'></span>$html"
    }
    return $html;
}

并使用它:

<?php $this->widget('alias.to.your.Class',array(
    'id'=>'menu',
        'items'=>array(                
            array('label'=>'Signin', 'highlighter' => true, 'url'=>array('/site/signin')),
            array('label'=>'Register', 'url'=>array('/site/register'))
        ),            
    )); ?>