Example #1
0
 /**
  * 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);
     }
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 /**
  * 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;
 }
Example #4
0
 /**
  * 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;
 }
Example #5
0
 /**
  * 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]);
     }
 }
Example #6
0
 /**
  * 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;
 }