'; private static $table_name = 'SubmenuWidget'; private static $db = [ 'TopLevelSubmenu' => 'Boolean(1)', ]; public function getPage() { $area = $this->Parent(); return \Page::get()->filter('SideBarID', $area->ID)->first(); } public function getSubmenu() { $page = $this->getPage(); if(!$this->getField('TopLevelSubmenu')) { return $page->Children(); } return $page->Level(1)->Children(); } public function getCMSFields() { $fields = parent::getCMSFields(); $fields->push(CheckboxField::create( 'TopLevelSubmenu', 'Display sub-menu starting from the top level (otherwise current page children will be displayed)' )); return $fields; } }