public function updateCMSFields(FieldList $fields) { $sortable = singleton('CleanTeaser')->hasExtension('SortableDataExtension'); $config = GridFieldConfig_RelationEditor::create(); $config->addComponent($gridFieldForm = new GridFieldDetailForm()); $dataFields = array(); if (singleton('CleanTeaser')->hasExtension('CMSPublishableDataExtension')) { $dataFields['PublishIndicator'] = 'Published'; } $dataFields = array_merge($dataFields, array('Thumbnail' => 'Thumbnail', 'Title' => 'Title', 'CleanDescription' => 'Description')); $config->getComponentByType('GridFieldDataColumns')->setDisplayFields($dataFields); $gridFieldForm->setTemplate('CMSGridFieldPopupForms'); if ($sortable) { $config->addComponent(new GridFieldSortableRows('SortOrder')); } if (ClassInfo::exists('GridFieldBulkUpload')) { $iu = new GridFieldBulkUpload('ImageID'); if (singleton('CleanTeaser')->hasExtension('ControlledFolderDataExtension')) { $iu->setUfConfig('folderName', singleton('CleanTeaser')->getUploadFolder()); } else { $iu->setUfConfig('folderName', CleanTeaser::$upload_folder); } $config->addComponent($iu); } if ($sortable) { $data = $this->owner->CleanTeasers("ClassName = 'CleanTeaser'")->sort('SortOrder'); } else { $data = $this->owner->CleanTeasers("ClassName = 'CleanTeaser'"); } // $config->removeComponentsByType('GridFieldAddNewButton'); // if (ClassInfo::exists('GridFieldBulkUpload')) { // $config->addComponent(new GridFieldAddNewMultiClass()); // } $fields->addFieldToTab("Root.Teasers", GridField::create('CleanTeasers', 'CleanTeaser', $data, $config)); }
public function updateCMSFields(FieldList $fields) { $sortable = singleton('CleanFile')->hasExtension('SortableDataExtension'); $config = GridFieldConfig_RelationEditor::create(); $config->addComponent($gridFieldForm = new GridFieldDetailForm()); if ($sortable) { $config->addComponent(new GridFieldSortableRows('SortOrder')); } $iu = new GridFieldBulkUpload('Attachment'); if (singleton('CleanFile')->hasExtension('ControlledFolderDataExtension')) { $iu->setUfConfig('folderName', singleton('CleanFile')->getUploadFolder()); } else { $iu->setUfConfig('folderName', CleanFile::$upload_folder); } $config->addComponent($iu); if ($sortable) { $data = $this->owner->CleanFiles("ClassName = 'CleanFile'")->sort('SortOrder'); } else { $data = $this->owner->CleanFiles("ClassName = 'CleanFile'"); } $fields->addFieldToTab("Root.Files", GridField::create('CleanFiles', 'CleanFile', $data, $config)); }
public function getCMSFields() { $fields = parent::getCMSFields(); $gridFieldConfig = GridFieldConfig_RecordEditor::create(); //$gridFieldConfig->addComponent(new GridFieldBulkEditingTools()); $gridFieldConfig->addComponent($gbu = new GridFieldBulkUpload()); $editableFields = array('Title', 'Caption', 'Aperture', 'ShutterSpeed', 'Image'); $gridFieldConfig->addComponent($gbm = new GridFieldBulkManager($editableFields)); $gridFieldConfig->addComponent(new GridFieldSortableRows('SortOrder')); $galleryimagesi18n = _t('GalleryImage.PLURALNAME', 'Gallery Images'); //$gbu->setConfig('fileRelationName','Image'); $gbu->setUfConfig('folderName', 'galleries/' . $this->ID); $gbm->setConfig('editableFields', $editableFields); // This is no longer available... $gbm->setConfig('fieldsNameBlacklist', array('Lat', 'Lon', 'ZoomLevel')); $gridfield = new GridField('GalleryImages', $galleryimagesi18n, $this->GalleryImages()->sort('"SortOrder"'), $gridFieldConfig); $fields->addFieldToTab('Root.' . $galleryimagesi18n, $gridfield); $fields->addFieldToTab('Root.Date', new DateField('GalleryDate')); return $fields; }