From c49c3e3dc2465b2f0f8d9a00ef2e41e133777e6c Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 10 Jul 2019 19:43:39 +0200 Subject: [PATCH] #2878 --- src/app/Magic/Menu/Item.php | 9 +++++++++ src/app/Magic/Menu/PageItem.php | 13 +++++++++++++ src/app/Magic/Models/CMSPage.php | 4 +++- src/app/Template/Navigation.php | 4 ++++ src/app/Template/TemplateAbstract.php | 9 +++++++++ 5 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/app/Magic/Menu/Item.php b/src/app/Magic/Menu/Item.php index 691681e..b1d1814 100644 --- a/src/app/Magic/Menu/Item.php +++ b/src/app/Magic/Menu/Item.php @@ -163,6 +163,15 @@ class Item $this->_children[] = $item; } + + /** + * @return array + */ + public function getClasses() + { + return []; + } + /** * @param $menu Menu */ diff --git a/src/app/Magic/Menu/PageItem.php b/src/app/Magic/Menu/PageItem.php index 9eaa077..c8081e7 100644 --- a/src/app/Magic/Menu/PageItem.php +++ b/src/app/Magic/Menu/PageItem.php @@ -46,9 +46,22 @@ class PageItem extends Item } + if ($this->getPage()->getUsedTemplate()->isVirtual()) { + return '#'; + } + return $this->getSlug(); } + public function getClasses() + { + $classes = parent::getClasses(); + if ($this->getPage()->getUsedTemplate()->isVirtual()) { + $classes[] = 'nav-virtual'; + } + return $classes; + } + /** * @param CMSPage $page */ diff --git a/src/app/Magic/Models/CMSPage.php b/src/app/Magic/Models/CMSPage.php index 5b9bd9b..2926dfd 100644 --- a/src/app/Magic/Models/CMSPage.php +++ b/src/app/Magic/Models/CMSPage.php @@ -4,6 +4,7 @@ namespace Cubist\Backpack\app\Magic\Models; use Cubist\Backpack\app\Magic\Controllers\CubistMagicController; +use Cubist\Backpack\app\Template\Navigation; use Cubist\Backpack\app\Template\Redirection; use Cubist\Backpack\app\Template\TemplateAbstract; use Cubist\Util\Json; @@ -248,7 +249,8 @@ class CMSPage extends CubistMagicNestedModel return $this->_usedTemplate instanceof Redirection; } - public static function getPageClass(){ + public static function getPageClass() + { $class = CMSPage::class; $config = config('cubist.page_model', 'Cubist\Backpack\app\Magic\Models\CMSPage'); if (class_exists($config)) { diff --git a/src/app/Template/Navigation.php b/src/app/Template/Navigation.php index cf70919..40527ed 100644 --- a/src/app/Template/Navigation.php +++ b/src/app/Template/Navigation.php @@ -6,6 +6,8 @@ namespace Cubist\Backpack\app\Template; class Navigation extends TemplateAbstract { + protected $_virtual = true; + public function init() { parent::init(); @@ -22,4 +24,6 @@ class Navigation extends TemplateAbstract { return '* Navigation'; } + + } diff --git a/src/app/Template/TemplateAbstract.php b/src/app/Template/TemplateAbstract.php index e33b2e6..eaaf987 100644 --- a/src/app/Template/TemplateAbstract.php +++ b/src/app/Template/TemplateAbstract.php @@ -17,6 +17,8 @@ class TemplateAbstract protected $_fields = []; + protected $_virtual=false; + public function __construct() { $this->init(); @@ -123,4 +125,11 @@ class TemplateAbstract { } + + /** + * @return bool + */ + public function isVirtual(){ + return $this->_virtual; + } } -- 2.39.5