From af4e888e3d46a4deeca7ab04dce9799d570f5a6d Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 10 Jul 2019 16:20:19 +0200 Subject: [PATCH] #2878 --- src/app/Magic/Menu/PageItem.php | 6 ++++++ src/app/Magic/Models/CMSPage.php | 24 +++++++++++++++++++----- src/app/Template/TemplateAbstract.php | 9 +++++++++ 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/app/Magic/Menu/PageItem.php b/src/app/Magic/Menu/PageItem.php index 4e40de9..9eaa077 100644 --- a/src/app/Magic/Menu/PageItem.php +++ b/src/app/Magic/Menu/PageItem.php @@ -25,6 +25,12 @@ class PageItem extends Item $this->setSlug($page->slug); $this->setTitle($page->title); $this->setChildrenFromData($all, $this->getId()); + $this->setChildrenFromTemplate(); + } + + public function setChildrenFromTemplate() + { + $this->getPage()->getUsedTemplate()->setMenuChildren($this); } public function getHref() diff --git a/src/app/Magic/Models/CMSPage.php b/src/app/Magic/Models/CMSPage.php index 1f496f8..5b9bd9b 100644 --- a/src/app/Magic/Models/CMSPage.php +++ b/src/app/Magic/Models/CMSPage.php @@ -22,6 +22,9 @@ class CMSPage extends CubistMagicNestedModel protected static $_table = 'cubist_cms_pages'; protected $table = 'cubist_cms_pages'; + /** + * @var TemplateAbstract + */ protected static $_tree = null; protected $_options = ['name' => 'page', @@ -151,6 +154,22 @@ class CMSPage extends CubistMagicNestedModel } } + /** + * @return TemplateAbstract + */ + public function getUsedTemplate() + { + return $this->_usedTemplate; + } + + /** + * @param TemplateAbstract $usedTemplate + */ + public function setUsedTemplate($usedTemplate): void + { + $this->_usedTemplate = $usedTemplate; + } + public static function getTemplatesById() { @@ -216,11 +235,6 @@ class CMSPage extends CubistMagicNestedModel return static::$_pagesList; } - public function addFakes($columns = ['extras']) - { - return parent::addFakes($columns); - } - protected function _prepareData($attributes) { return Json::decodeRecursive(parent::_prepareData($attributes), Json::TYPE_ARRAY); diff --git a/src/app/Template/TemplateAbstract.php b/src/app/Template/TemplateAbstract.php index c65f7a0..e33b2e6 100644 --- a/src/app/Template/TemplateAbstract.php +++ b/src/app/Template/TemplateAbstract.php @@ -2,6 +2,7 @@ namespace Cubist\Backpack\app\Template; +use Cubist\Backpack\app\Magic\Menu\Item; use Illuminate\Support\Str; class TemplateAbstract @@ -114,4 +115,12 @@ class TemplateAbstract } return null; } + + /** + * @param $menu Item + */ + public function setMenuChildren($menu) + { + + } } -- 2.39.5