Yii: Как в крошки (breadcrumbs) добавить категорию, к которой относится материал или статья

Yii: Как в крошки (breadcrumbs) добавить категорию, к которой относится материал или статья Добавление в breadcrumbs категории статьи. Доработаем механизм крошек так, чтобы в нём выводилась категория, к которой относится материал.

Этот способ удобен, когда статья может принадлежать только одной категории. Впрочем, если статья относится к нескольким категориям, то будет выводиться только одна первая по порядку категория (мы будем выбирать только первое значение из поля 'sections', в котором - строка с категориями; если храним только одну категорию, то строку не нужно преобразовывать в массив, и вообще вместо массивов в функции getFirstSectionName() будет просто переменные).

Добавляю в представлении статьи полностью views/materials/view.php вызов функции получения категории:

$this->breadcrumbs=array(
'Статьи'=>array('material/index'),  
$model->firstSectionName[0] => $model->firstSectionName[1],
$model->title,
);
И в модель models/Material.php добавляю эту функцию:
public function getFirstSectionName()
{
$sections=array();
$sections = Tag::string2array($this->sections);
$selectedsection[0]=CHtml::encode(Section::model()->findByPk($sections[0])->title);
     $selectedsection[1]=array('material/index', 'section'=>$sections[0]);
return $selectedsection;
}   
Беру элемент $sections[0], чтобы только одну категорию выводить в крошках. Все выводить нет надобности, да и код видимо усложнится.
 

 

Источник: loco.ru

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.