如果您使用的是最新版本的Yii (1.1.11) ,那么您在CBreadcrumbs中有一些新选项,即:并且使用这些(以及)您可以轻松实现您的要求。activeLinkTemplate
inactiveLinkTemplate
tagName
您只需在包含面包屑小部件的文件中为这些选项添加值,默认情况下,它位于布局文件中:protected/views/layouts/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和label值。例如:-
// in some view.php file, you'll see this
$this->breadcrumbs=array( // array is label=>url
'Label1'=>array('route1'),
'Label2'=>array('route2'),
'Label3',
);
如果您使用的是 1.1.11 之前的版本,则必须使用extend
CBreadcrumbs 类并修改run()
方法以输出面包屑,包含在<li>
. 一旦你看到现有的run()
方法,你就会很清楚如何去做。
编辑:
错过了如何添加 css 类。您可以通过在此小部件的 htmlOptions 数组中添加类键值来做到这一点:
<?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 -->