public function getCMSFields() { $fields = $this->scaffoldFormFields(array('includeRelations' => $this->ID > 0, 'tabbed' => true, 'ajaxSafe' => true)); $fields->insertAfter(new ReadonlyField('Type'), 'Title'); $fields->removeByName('ListID'); $fields->removeByName('ParentID'); $fields->removeByName('Sort'); $fields->removeByName('ExtraClass'); /** Title * By default, the Title is used for reference only * Set $enable_title_in_template to true when using title in template */ if (!$this->enable_title_in_template) { $fields->removeByName('HideTitle'); $title = $fields->fieldByName('Root.Main.Title'); if ($title) { $title->setRightTitle('For reference only. Does not appear in the template.'); } } $fields->addFieldToTab('Root.Settings', new TextField('ExtraClass', 'Extra CSS Classes to add')); if (!is_a($this, 'ElementList')) { $lists = ElementList::get()->filter('ParentID', $this->ParentID); if ($lists->exists()) { $fields->addFieldToTab('Root.Main', $move = new DropdownField('MoveToListID', 'Move this to another list', $lists->map('ID', 'CMSTitle'), '')); $move->setEmptyString('Select a list..'); $move->setHasEmptyDefault(true); } } $this->extend('updateCMSFields', $fields); return $fields; }
public function getCMSFields() { $fields = $this->scaffoldFormFields(array('includeRelations' => $this->ID > 0, 'tabbed' => true, 'ajaxSafe' => true)); $fields->insertAfter(new ReadonlyField('ClassNameTranslated', _t('BaseElement.TYPE', 'Type'), $this->i18n_singular_name()), 'Title'); $fields->removeByName('ListID'); $fields->removeByName('ParentID'); $fields->removeByName('Sort'); $fields->removeByName('ExtraClass'); if (!$this->config()->enable_title_in_template) { $fields->removeByName('HideTitle'); $title = $fields->fieldByName('Root.Main.Title'); if ($title) { $title->setRightTitle('For reference only. Does not appear in the template.'); } } $fields->addFieldToTab('Root.Settings', new TextField('ExtraClass', 'Extra CSS Classes to add')); if (!is_a($this, 'ElementList')) { $lists = ElementList::get()->filter('ParentID', $this->ParentID); if ($lists->exists()) { $fields->addFieldToTab('Root.Settings', $move = new DropdownField('MoveToListID', 'Move this to another list', $lists->map('ID', 'CMSTitle'), '')); $move->setEmptyString('Select a list..'); $move->setHasEmptyDefault(true); } } if ($virtual = $fields->dataFieldByName('VirtualClones')) { if ($this->Parent() && $this->Parent()->exists() && $this->Parent()->getOwnerPage() && $this->Parent()->getOwnerPage()->exists()) { $tab = $fields->findOrMakeTab('Root.VirtualClones'); $tab->setTitle(_t('BaseElement.VIRTUALTABTITLE', 'Linked To')); $ownerPage = $this->Parent()->getOwnerPage(); $tab->push(new LiteralField('DisplaysOnPage', sprintf("<p>The original content block appears on <a href='%s'>%s</a></p>", $ownerPage->hasMethod('CMSEditLink') && $ownerPage->canEdit() ? $ownerPage->CMSEditLink() : $ownerPage->Link(), $ownerPage->MenuTitle))); $virtual->setConfig(new GridFieldConfig_Base()); $virtual->setTitle(_t('BaseElement.OTHERPAGES', 'Other pages'))->getConfig()->removeComponentsByType('GridFieldAddExistingAutocompleter')->removeComponentsByType('GridFieldAddNewButton')->removeComponentsByType('GridFieldDeleteAction')->removeComponentsByType('GridFieldDetailForm')->addComponent(new ElementalGridFieldDeleteAction()); $virtual->getConfig()->getComponentByType('GridFieldDataColumns')->setDisplayFields(array('getPage.Title' => 'Title', 'getPage.Link' => 'Link')); } } $this->extend('updateCMSFields', $fields); if ($this->IsInDB()) { if ($this->isEndofLine('BaseElement') && $this->hasExtension('VersionViewerDataObject')) { $fields = $this->addVersionViewer($fields, $this); } } return $fields; }