From: Vincent Vanwaelscappel Date: Fri, 6 Sep 2019 09:46:14 +0000 (+0200) Subject: wip #2922 @0:15 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=315d0b80b3fa4367625d09fa903c2728936d0e0b;p=cubist_cms-back.git wip #2922 @0:15 --- diff --git a/src/app/Magic/Menu/Menu.php b/src/app/Magic/Menu/Menu.php index 1c707e4..7290777 100644 --- a/src/app/Magic/Menu/Menu.php +++ b/src/app/Magic/Menu/Menu.php @@ -145,9 +145,12 @@ class Menu extends BaseMenu public function makeStandardMenu($menu, $item) { foreach ($item->getChildren() as $child) { + if (!$child->isMenuDesktop()) { + continue; + } $parent = $menu->add($child->getTitle(), $child->getHref()); // Handle items with submenus - if ($child->hasChildren()) { + if ($child->isMenuDesktopChildren()) { foreach ($child->getChildren() as $subitem) { $parent->add($subitem->getTitle(), $subitem->getHref()); } @@ -159,18 +162,20 @@ class Menu extends BaseMenu * @param $menu Menu * @param $item Item */ - public function makeMobileMenu($menu, $item, $depth = 3) + public function makeMobileMenu($menu, $item) { - if ($depth == 0) { - return; - } foreach ($item->getChildren() as $child) { + if (!$child->isMenuMobile()) { + continue; + } if ($child->isNavigable()) { $parent = $menu->add($child->getTitle(), $child->getHref()); } else { $parent = $menu->raw('' . $child->getTitle() . ''); } - $this->makeMobileMenu($parent, $child, $depth - 1); + if ($child->isMenuMobileChildren()) { + $this->makeMobileMenu($parent, $child); + } } } diff --git a/src/app/Magic/Menu/PageItem.php b/src/app/Magic/Menu/PageItem.php index 4f491f5..ad04716 100644 --- a/src/app/Magic/Menu/PageItem.php +++ b/src/app/Magic/Menu/PageItem.php @@ -44,10 +44,13 @@ class PageItem extends Item $this->setSlug($entity->slug); $this->setTitle($entity->title); + $desktop = $entity->menu_desktop == '' ? 'children' : $entity->menu_desktop; + $this->setMenuDesktop($entity->menu_desktop != 'no'); $this->setMenuDesktopChildren($entity->menu_desktop == 'children'); - $mobile = $entity->menu_mobile == 'desktop' ? $entity->menu_desktop : $entity->menu_mobile; + $mobile = $entity->menu_mobile == 'desktop' || $entity->menu_mobile == '' ? $desktop : $entity->menu_mobile; + $this->setMenuMobile($mobile != 'no'); $this->setMenuMobileChildren($mobile == 'children');