Yii 面包屑用法

Yii中的CBreadcrumbs是一款用于展示页面在网站层级结构中位置的链接列表组件。它继承自CWidget,常用于布局文件中。正确配置 breadcrumbs 属性并分配给基础控制器可以解决链接地址问题。尽管可以直接修改框架源代码,但不推荐这样做,更建议参考Yii官方手册进行设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(转)

Yii中的CBreadcrumbs简介~俗称:面包屑

功能介绍:zii.widgets 下的CBreadcrumbs类,其继承关系: CBreadcrumbs » CWidget » 

CBaseController » CComponent .源代码位置: 

framework/zii/widgets/CBreadcrumbs.php 

面包屑类显示一个链接列表以表明当前页面在整个网站中的位置.

由于面包屑通常会出现在网站的近乎所有的页面,此插件最好在视图的layout中进行部署.

你可以定义一个breadcrumbs属性并且在布局文件中指派给(网站)基础控制器插件,如下所示:

$this->widget('zii.widgets.CBreadcrumbs', array(
    'links'=>$this->breadcrumbs,
));


注意:

$this->breadcrumbs//是一个数组,具体是下面这样的
$crumbss=array(
	    '特价专区'=>'http://www.baidu.com',
	    '猕猴桃'=>'',
	);
key=>value   key 链接的名字   value 链接的地址

我之前就不是这么写的,导致链接地址一直不对,不是我想要的.我又看了看Yii的官方手册




于是乎,你需要时,只需要在每个视图脚本中,指定breadcrumbs属性(就可以显示出网页导航了).

以上是官方提供的文档文件的介绍.

下面介绍视图文件中写法:

$this->breadcrumbs=array(
      'Users'=>array('index'),
      'Create',
     // 形式 :  'key' =>'value'  key的位置相当于最后显示出来的a标签内的名字, value则相当于a标签的href属性.
     // 'Create'表示当前页  故没有设置链接.
);

面包屑  顶级导航Home 改为 中文 首页 方法


<?php $this->widget('zii.widgets.CBreadcrumbs', array(
	'homeLink'=>CHtml::link('首页',Yii::app()->homeUrl), //设置顶级导航Home为中文 "首页"
	'htmlOptions'=>array('class'=>'lnk'),//添加样式
	'separator'=>'->',//breadcrumbs中链接之间的分隔符。默认是‘ » ’。
	'links'=>$this->breadcrumbs,)); 
?>


上面的一些属性,Yii手册上有,请看手册~~
别一种方法,就是修改Yii框架系统文件.个人不建议这么做.
找到CBreadcrumbs.php      | framework/zii/jui/CBreadcrumbs.php
在116行.


public function run()
	{
		if(empty($this->links))
			return;

		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
		$links=array();
		if($this->homeLink===null)
			$links[]=CHtml::link(Yii::t('zii','Home'),Yii::app()->homeUrl); // 116行 Home改为你想要的中文文字
		elseif($this->homeLink!==false)
			$links[]=$this->homeLink;
		foreach($this->links as $label=>$url)
		{
			if(is_string($label) || is_array($url))
				$links[]=strtr($this->activeLinkTemplate,array(
					'{url}'=>CHtml::normalizeUrl($url),
					'{label}'=>$this->encodeLabel ? CHtml::encode($label) : $label,
				));
			else
				$links[]=str_replace('{label}',$this->encodeLabel ? CHtml::encode($url) : $url,$this->inactiveLinkTemplate);
		}
		echo implode($this->separator,$links);
		echo CHtml::closeTag($this->tagName);
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值