public function render($level = 1) { if ($this->menuItem->isHidden()) { return true; } if ($this->menuItem->hasSubItems()) { $level++; $content = $this->htmlBuilder->tag('i', ['class' => ['fa', 'fa-fw', $this->menuItem->getIcon()]]); $content .= ' ' . $this->menuItem->getLabel() . $this->htmlBuilder->tag('span', ['class' => 'fa arrow']); $content = $this->htmlBuilder->tag('a', ['href' => '#'], $content); $subitemsContent = ''; foreach ($this->menuItem->getItems() as $item) { $subitemsContent .= $item->render($level); } $content .= $this->htmlBuilder->tag('ul', ['class' => 'treeview-menu'], $subitemsContent); } else { $content = $this->renderSingleItem(); } return $this->htmlBuilder->tag('li', [], $content); }
/** @test */ public function it_checks_if_has_subitems() { $menu = new MenuItem(); $this->assertFalse($menu->hasSubItems()); $this->assertTrue(MenuItem::$current->hasSubItems()); }