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();