2012-08-09 32 views
2

我需要修改Yii框架widget-zii.widgets.CBreadcrumbs。 默认情况下,它打印:如何修改zii.widgets.CBreadcrumbs自动生成的html?

<div class="breadcrumbs"> 
<a href="/dr/dr/public_html/">Home</a> » <span>News</span></div> 

但我需要:

<ul class="menu"> 
    <li><a href="/dr/dr/public_html/">Home</a></li> 
    <li>News</li> 
</ul> 

所以,我怎么能改吗?

+0

yii你正在使用哪个版本? – 2012-08-09 16:03:45

+0

最新版本。 – 2012-08-10 06:17:18

回答

13
  1. 如果您使用的是最新版本的Yii (1.1.11),那么你有几个选项CBreadcrumbs,即:activeLinkTemplateinactiveLinkTemplate和使用这些(也tagName)就可以轻松实现您的要求。

    你只需要添加值这些选项,你在哪里,包括面包屑插件的文件中,默认情况下,它是在一个布局文件:保护/视图/布局/ main.php,像这样:

    <?php if(isset($this->breadcrumbs)):?> 
        <?php $this->widget('zii.widgets.CBreadcrumbs', array(
         'links'=>$this->breadcrumbs, 
    
         'tagName'=>'ul', // will change the container to ul 
         'activeLinkTemplate'=>'<li><a href="{url}">{label}</a></li>', // will generate the clickable breadcrumb links 
         'inactiveLinkTemplate'=>'<li>{label}</li>', // will generate the current page url : <li>News</li> 
         'homeLink'=>'<li><a href="'.Yii::app()->homeUrl.'">Home</a></li>' // will generate your homeurl item : <li><a href="/dr/dr/public_html/">Home</a></li> 
        )); ?><!-- breadcrumbs --> 
    <?php endif?> 
    

    'activeLinkTemplate'生成链接主动/可点击的链接,并且生成'inactiveLinkTemplate'当前的URL,其无法点击并且没有URL。

    {url}{label}URL标签由每个视图的面包屑对象提供值。如: -

    // in some view.php file, you'll see this 
    $this->breadcrumbs=array(// array is label=>url 
        'Label1'=>array('route1'), 
        'Label2'=>array('route2'), 
        'Label3', 
    ); 
    
  2. 如果您正在使用的版本1.1.11之前,那么你就必须extend的CBreadcrumbs类和修改run()方法输出面包屑,封闭在<li>。一旦你看到现有的run()方法,你会很清楚如何去做。

编辑:

错过了如何添加CSS类。你可以通过在这个widget的htmlOptions数组中添加一个class key-value:

<?php $this->widget('zii.widgets.CBreadcrumbs', array(
    'links'=>$this->breadcrumbs, 

    'tagName'=>'ul', // will change the container to ul 
    'htmlOptions'=>array('class'=>'menu'), 
    // ... rest of the code ... 
)); ?><!-- breadcrumbs --> 
+1

谢谢你的好评!它的工作:) – 2012-08-10 08:19:04

+1

不客气,总是乐于帮助 – 2012-08-10 08:19:41

+1

也增加了部分申报css类 – 2012-08-10 08:23:27