public function RemoveNewsPostsFromSiteTree(DataList $list) { $pageTypes = NewsPost::GetNewsTypes(); $updatedList = $list; foreach ($pageTypes as $strClassName) { $updatedList = $updatedList->exclude('ClassName', $strClassName); } return $updatedList; }
public function getCMSFields() { $fields = parent::getCMSFields(); if (!Config::inst()->get('NewsPost', 'pages_admin')) { $arrTypes = NewsPost::GetNewsTypes(); if (count($arrTypes) > 1) { $arrDropDownSource = array(); foreach ($arrTypes as $strType) { $arrDropDownSource[$strType] = $strType; } $fields->addFieldToTab('Root.Main', DropdownField::create('ClassName')->setSource($arrDropDownSource)->setTitle('Type'), 'Content'); } } $fields->addFieldsToTab('Root.Main', array(DropdownField::create('ParentID')->setSource(NewsIndex::get()->map()->toArray())->setTitle('Parent Page'), DatetimeField::create('DateTime'), TextField::create('Tags'), TextField::create('Author'), HtmlEditorField::create('Summary')->setRows(5)), 'Content'); if ($this->ID) { $fields->addFieldToTab('Root.Main', CheckboxSetField::create('Categories')->setSource(NewsCategory::get()->map('ID', 'Title')->toArray()), 'Content'); $fields->addFieldToTab('Root.RelatedArticles', GridField::create('RelatedArticles', 'Related Articles')->setList($this->RelatedArticles())->setConfig($relatedArticlesConfig = new GridFieldConfig_RelationEditor())); } $this->extend('updateNewsPostCMSFields', $fields); return $fields; }