/** * Creates new menuitem and adds it to items list * * @param string $name * Internal name of item * @param string $text * Text to show * @param string $url * Optional url for linking * * @return MenuItem Reference to the created child item. */ public function &createItem($name, $text, $url = '') { $menu_item = new MenuItem(); $menu_item->setName($name); $menu_item->setText($text); if ($url) { $menu_item->setUrl($url); } $this->items[$name] = $menu_item; return $this->items[$name]; }
public function beforeCompile() { $builder = $this->getContainerBuilder(); $router = $builder->getDefinition('router'); //TODO: route prepend $router->addSetup('offsetSet', array(new PhpLiteral('NULL'), new Route('newadmin/pictures[/<id>]', 'App:Pictures:default'))); $builder->getDefinition('nette.presenterFactory')->addSetup('setMapping', array(array('App' => 'App\\*Module\\*Presenter'))); //Admin Menu: $priorityQueue = new \SplPriorityQueue(); $menuItem = new MenuItem(); $menuItem->setHeading(_('Nahrát nový obrázek')); $menuItem->setText(_('Zde nahrajte obrázky')); $menuItem->setLink(':Admin:pictures'); $priorityQueue->insert($menuItem, 10); $adminMenuFactory = $builder->getDefinition('adminMenuFactory'); foreach ($priorityQueue as $entry) { $adminMenuFactory->addSetup('addContributor', [$entry]); } }