public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $categoryFields = array();
     $nonCategoryFields = array();
     $fields->addFieldToTab('Root.Main', new TextField('ContentTitle', 'Content Title'));
     $fields->addFieldToTab('Root.Main', new DropdownField('ItemStyle', 'Item Style', self::$styles));
     $fields->addFieldToTab('Root.Main', new DropdownField('DefaultLayout', 'Default Layout', $this->dbObject('DefaultLayout')->enumValues()));
     $fields->addFieldToTab('Root.Main', new NumericField('LimitTopResults', 'Limit Top Results - how many items to show at top (defaults to 4)'));
     $fields->addFieldToTab('Root.Main', new NumericField('LimitBottomResults', 'Limit Bottom Results - how many items to show at bottom (defaults to 30)'));
     //children fields
     $fields->addFieldsToTab('Root.Main', array($useChildren = new CheckboxField('UseChildren', 'Use page as category?', 1), $categoryFields[] = $pageField = new ContentModuleTreeDropdownField('TopLevelPageID', 'Top Level Page', 'SiteTree'), $categoryFields[] = $showSearch = new CheckboxField('ShowSearch', 'Show search?'), $categoryFields[] = $hasCategories = new CheckBoxField('HasCategories', 'Has categories? (2 levels or single level)'), $categoryFields[] = $showCategories = new CheckboxField('ShowCategories', 'Show category navigation bar? (for filtering)')));
     $pageField->addExtraClass('use-children');
     $useChildren->addExtraClass('use-children');
     $showSearch->addExtraClass('show-search');
     $hasCategories->addExtraClass('has-categories');
     $showCategories->addExtraClass('show-categories');
     //add page fields
     $fields->addFieldsToTab('Root.Main', array($tree = new ContentModuleTreeDropdownField('NewPage', 'Add Page (choose from dropdown to add below)', 'SiteTree'), $enableSeeMore = new CheckboxField('DisableSeeMore', 'Disable "See more"?', 0), $nonCategoryFields[] = $rEditor = new ContentModuleRelationshipEditor('PagesRelationEditor', 'Pages', 'Pages', $this, array('Title' => 'Title', 'Parent.Title' => 'Parent'))));
     $rEditor->setSortField('SortOrder')->setShowDeleteButton(false);
     //url for adding page
     $tree->setAttribute('data-add_url', 'addPage');
     $nonCategoryFields[] = $tree;
     //setup classes for hiding show fields
     foreach ($categoryFields as $categoryField) {
         $categoryField->addExtraClass('category');
     }
     //setup classes for hiding show fields
     foreach ($nonCategoryFields as $categoryField) {
         $categoryField->addExtraClass('non-category');
     }
     Requirements::javascript(INPAGE_MODULES_DIR . '/javascript/RelatedPagesModuleCMS.js');
     return $fields;
 }
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->addFieldsToTab('Root.Main', array(new TextField('ContentTitle', 'Content Title'), new DropdownField('ResizeMethod', 'Resize Method', $this->dbObject('ResizeMethod')->enumValues()), new NumericField('ResizeWidth', 'Resize Width'), new NumericField('ResizeHeight', 'Resize Height'), new ContentModuleUploadField('Images'), new ContentModuleRelationshipEditor('ImagesRelationEditor', 'Images', 'Images', $this, array('Title' => 'Title', 'CMSThumbnail' => 'Thumbnail'))));
     return $fields;
 }
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->addFieldsToTab('Root.Main', array(new TextField('ContentTitle', 'Content Title'), new HtmlEditorField('Text')));
     return $fields;
 }