'Boolean', ); private static $defaults = array( 'InheritSideBar' => true ); private static $has_one = array( 'SideBar' => 'WidgetArea' ); public function updateCMSFields(FieldList $fields) { $fields->addFieldToTab( "Root.Widgets", new CheckboxField("InheritSideBar", 'Inherit Sidebar From Parent') ); $fields->addFieldToTab( "Root.Widgets", new WidgetAreaEditor("SideBar") ); } /** * @return WidgetArea */ public function SideBarView() { if( $this->owner->InheritSideBar && ($parent = $this->owner->getParent()) && $parent->hasMethod('SideBarView') ) { return $parent->SideBarView(); } elseif($this->owner->SideBar()->exists()){ return $this->owner->SideBar(); } } }