Beispiel #1
0
 public function getNewInstance()
 {
     /** @var $new Menu */
     $new = parent::getNewInstance();
     $new->setParentDocument($this->getModelManager()->find(null, $this->menuRoot));
     return $new;
 }
Beispiel #2
0
 /**
  * {@inheritDoc}
  */
 public function buildBreadcrumbs($action, MenuItemInterface $menu = null)
 {
     $menuNodeNode = parent::buildBreadcrumbs($action, $menu);
     if ($action != 'edit' || !$this->recursiveBreadcrumbs) {
         return $menuNodeNode;
     }
     $parentDoc = $this->getSubject()->getParentDocument();
     $pool = $this->getConfigurationPool();
     $parentAdmin = $pool->getAdminByClass(ClassUtils::getClass($parentDoc));
     if (null === $parentAdmin) {
         return $menuNodeNode;
     }
     $parentAdmin->setSubject($parentDoc);
     $parentEditNode = $parentAdmin->buildBreadcrumbs($action, $menu);
     if ($parentAdmin->isGranted('EDIT' && $parentAdmin->hasRoute('edit'))) {
         $parentEditNode->setUri($parentAdmin->generateUrl('edit', array('id' => $this->getUrlsafeIdentifier($parentDoc))));
     }
     $menuNodeNode->setParent(null);
     $current = $parentEditNode->addChild($menuNodeNode);
     return $current;
 }