function __construct(Rubric $rubric = null) { $this->rubric = $rubric; $this->isRubric = !!$rubric; if ($this->isRubric) { $this->rp = Handlers::getInstance()->getRubricsProcessorByPostType($rubric->getPostType()); $this->suffix = ' в ' . ps_strtolower($this->rp->rubricTitle(null, 6)); } }
/** @return NavigationItem */ public static function byRubricProcessor(RubricsProcessor $rp, $allPostsName = 'Все заметки', $postsInRubricName = 'Посты в рубрике', $postAnonsName = 'Навигация') { $item = self::byPageCode($rp->getPostsListPage()->getCode(), $allPostsName); //Не показываем выбранную рубрику $item->setExtraData('chplaceholder'); $rubrics = $rp->getRubrics(); $rubric2post = $rp->getPostToRubric(); /* @var $rubric Rubric */ foreach ($rubrics as $rubric) { $rubricId = $rubric->getId(); if (array_key_exists($rubricId, $rubric2post)) { $item->addChild(self::byRubric($rubric, $rubric2post[$rubricId], $postsInRubricName, $postAnonsName)); } } return $item; }
/** @return TrainManager */ public static function inst() { return parent::inst(); }