first upload all files
This commit is contained in:
51
Modules/Menu/MegaMenu/SubMenu.php
Normal file
51
Modules/Menu/MegaMenu/SubMenu.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Menu\MegaMenu;
|
||||
|
||||
use Modules\Category\Entities\Category;
|
||||
|
||||
class SubMenu
|
||||
{
|
||||
private $subMenu;
|
||||
private $subMenuItems;
|
||||
|
||||
public function __construct($subMenu)
|
||||
{
|
||||
$this->subMenu = $subMenu;
|
||||
}
|
||||
|
||||
public function url()
|
||||
{
|
||||
return $this->subMenu->url();
|
||||
}
|
||||
|
||||
public function target()
|
||||
{
|
||||
if ($this->subMenu instanceof Category) {
|
||||
return '_self';
|
||||
}
|
||||
|
||||
return $this->subMenu->target;
|
||||
}
|
||||
|
||||
public function name()
|
||||
{
|
||||
return $this->subMenu->name;
|
||||
}
|
||||
|
||||
public function hasItems()
|
||||
{
|
||||
return $this->items()->isNotEmpty();
|
||||
}
|
||||
|
||||
public function items()
|
||||
{
|
||||
if (! is_null($this->subMenuItems)) {
|
||||
return $this->subMenuItems;
|
||||
}
|
||||
|
||||
return $this->subMenuItems = $this->subMenu->items->map(function ($item) {
|
||||
return new SubMenu($item);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user