/** * Add children to the given menu recursively * * @param MenuitemEntity $child * @param MenuItem $sub */ private function addSubItemToMenu(MenuitemEntity $child, MenuItem $sub) { $sub->url($child->uri, $child->title); if ($this->hasChildren($child)) { $this->addChildrenToMenu($child->title, $child->items, $sub); } }
/** * Get child menu items. * * @param \Pingpong\Menus\MenuItem $item * @return string */ public function getChildMenuItems(MenuItem $item) { $results = ''; foreach ($item->getChilds() as $child) { if ($child->hasSubMenu()) { $results .= $this->getMultiLevelDropdownWrapper($child); } elseif ($child->isHeader()) { $results .= $this->getHeaderWrapper($child); } elseif ($child->isDivider()) { $results .= $this->getDividerWrapper(); } else { $results .= $this->getMenuWithoutDropdownWrapper($child); } } return $results; }
/** * Register new menu item using url. * * @param $url * @param $title * @param array $attributes * * @return static */ public function url($url, $title, $order = 0, $attributes = array()) { $url = $this->formatUrl($url); $item = MenuItem::make(compact('url', 'title', 'order', 'attributes')); $this->items[] = $item; return $item; }
/** * Register new menu item using url. * * @param $url * @param $title * @param array $attributes * * @return static */ public function url($url, $title, $order = 0, $attributes = array()) { if (func_num_args() == 3) { $arguments = func_get_args(); return $this->add(['url' => $this->formatUrl(array_get($arguments, 0)), 'title' => array_get($arguments, 1), 'attributes' => array_get($arguments, 2)]); } $url = $this->formatUrl($url); $item = MenuItem::make(compact('url', 'title', 'order', 'attributes')); $this->items[] = $item; return $item; }
/** * Add children to the given menu recursively * @param Menuitem $child * @param PingpongMenuItem $sub */ private function addSubItemToMenu(Menuitem $child, PingpongMenuItem $sub) { $sub->url($child->uri, $child->title); if ($this->hasChildren($child)) { $this->addChildrenToMenu($child->title, $child->items, $sub); } else { $sub->url($child->url_target, $child->title, 0, ['icon' => $child->icon]); } }
/** * Register new menu item using url. * * @param $url * @param $title * @param array $attributes * @return static */ public function url($url, $title, $attributes = array()) { $item = MenuItem::make(array('url' => $url, 'title' => $title, 'attributes' => $attributes)); $this->items[] = $item; return $item; }