/** @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; }