/** * Get childs * * @param array $items * @param integer $level * * @return array */ public function getChilds($items, $level = 0) { $childrens = array(); foreach ($items as $item) { $roleMenu = $this->repository->findOneBySlug($item->getName()); $child = $roleMenu instanceof RoleMenu ? $roleMenu : new RoleMenu(); $child->setSlug($item->getName())->setLabel($item->getLabel())->setLevel($level); $childrens[] = $child; if (count($item->getChildren())) { $elements = $this->getChilds($item->getChildren(), $level + 1); $childrens = array_merge($childrens, $elements); } } return $childrens; }
/** * Return an Article by slug * @param $slug String * @return Article|null */ public function getArticleBySlug($slug) { return $this->articleRepository->findOneBySlug($slug); }
/** * Return a category by slug * @param $slug * @return mixed */ public function getCategoryBySlug($slug) { return $this->categoryRepository->findOneBySlug($slug); }