From 0019e3e6fdf079ee5ebd1519a1adefaf91d69bbe Mon Sep 17 00:00:00 2001 From: Tony Air Date: Sun, 24 Sep 2023 18:51:04 +0200 Subject: [PATCH] IMPR: Allow moving Sidebar into elements list --- src/Extensions/SiteTreeExtension.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Extensions/SiteTreeExtension.php b/src/Extensions/SiteTreeExtension.php index 20bb6cc..94fd690 100755 --- a/src/Extensions/SiteTreeExtension.php +++ b/src/Extensions/SiteTreeExtension.php @@ -2,6 +2,7 @@ namespace A2nt\CMSNiceties\Extensions; +use A2nt\ElementalBasics\Elements\SidebarElement; use SilverStripe\Forms\TextareaField; use SilverStripe\ORM\DataExtension; use SilverStripe\Forms\FieldList; @@ -40,6 +41,28 @@ class SiteTreeExtension extends DataExtension } } + public function ShowSidebar() + { + $obj = $this->owner; + + if ($obj->ElementalArea()->Elements()->find('ClassName', SidebarElement::class)->first()) { + return false; + } + + if ($obj->SideBarContent) { + return true; + } + if (method_exists($obj, 'SideBarView')) { + $view = $obj->SideBarView(); + + if ($view && $view->Widgets()->count()) { + return true; + } + } + + return false; + } + public function onBeforeWrite() { parent::onBeforeWrite();