* @since 1.0
*/
class Breadcrumbs extends Service
{
public $homeName = 'Home';
public $ifAddHomeUrl = true;
public $active = true;
protected $_items;
public function init()
{
parent::init();
if ($this->active) {
if ($this->homeName) {
$items['name'] = $this->homeName;
if ($this->ifAddHomeUrl) {
$items['url'] = Yii::$service->url->homeUrl();
}
$this->addItems($items);
}
}
}
/**
* property $items|Array. add $items to $this->_items.
* $items format example. 将各个部分的链接加入到面包屑导航中
* $items = ['name'=>'fashion handbag','url'=>'http://www.xxx.com'];.
*/
protected function actionAddItems($items)
{
if ($this->active) {
$this->_items[] = $items;
}
}
/**
* 通过上面的方法addItems($items),把item加入进来后
* 然后,通过该函数取出来。
*/
protected function actionGetItems()
{
if ($this->active) {
if (is_array($this->_items) && !empty($this->_items)) {
return $this->_items;
} else {
return [];
}
}
}
// generate Breadcrumbs html ,before generate , you should use addItems function to add breadcrumbs items.
/*
protected function actionGenerateHtml(){
$arr = [];
if($this->_items){
foreach($this->_items as $item){
$name = isset($item['name']) ? $item['name'] : '';
$url = isset($item['url']) ? $item['url'] : '';
if($name){
if($url){
$arr[] = ''.$name.'';
}else{
$arr[] = ''.$name.'';
}
}
}
}
return $arr;
//if(!empty($arr))
// return implode($this->intervalSymbol,$arr);
}
*/
}