public function getCMSFields() { $fields = FieldList::create(TextField::create('Author'), TextareaField::create('Teaser'), TextareaField::create('Description'), DateField::create('Date', 'Date of article')->setConfig('showcalendar', true)->setConfig('dateformat', 'd MMMM yyyy'), $photo = UploadField::create('Photo'), $brochure = UploadField::create('Brochure', 'Travel brochure, optional (PDF only)')); $photo->setFolderName('article-photos')->getValidator()->setAllowedExtensions(array('gif', 'png', 'jpg', 'jpeg')); $brochure->setFolderName('article-brochures')->getValidator()->setAllowedExtensions(array('pdf')); return $fields; }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeFieldsFromTab('Root.Main', array('Title', 'Content', 'MenuTitle')); $fields->addFieldsToTab('Root.Main', array(TextField::create('Title', 'Title'), TextField::create('Title_cn', 'Title_cn'), HtmlEditorField::create('Content', 'Content'), HtmlEditorField::create('Content_cn', 'Content_cn'), DateField::create('Date', 'Date')->setConfig('showcalendar', true)), 'URLSegment'); return $fields; }
public function getDefaultSearchContext() { $context = parent::getDefaultSearchContext(); $fields = $context->getFields(); $fields->push(CheckboxField::create("HasBeenUsed")); //add date range filtering $fields->push(ToggleCompositeField::create("StartDate", "Start Date", array(DateField::create("q[StartDateFrom]", "From")->setConfig('showcalendar', true), DateField::create("q[StartDateTo]", "To")->setConfig('showcalendar', true)))); $fields->push(ToggleCompositeField::create("EndDate", "End Date", array(DateField::create("q[EndDateFrom]", "From")->setConfig('showcalendar', true), DateField::create("q[EndDateTo]", "To")->setConfig('showcalendar', true)))); //must be enabled in config, because some sites may have many products = slow load time, or memory maxes out //future solution is using an ajaxified field if (self::config()->filter_by_product) { $fields->push(ListboxField::create("Products", "Products", Product::get()->map()->toArray())->setMultiple(true)); } if (self::config()->filter_by_category) { $fields->push(ListboxField::create("Categories", "Categories", ProductCategory::get()->map()->toArray())->setMultiple(true)); } if ($field = $fields->fieldByName("Code")) { $field->setDescription("This can be a partial match."); } //get the array, to maniplulate name, and fullname seperately $filters = $context->getFilters(); $filters['StartDateFrom'] = GreaterThanOrEqualFilter::create('StartDate'); $filters['StartDateTo'] = LessThanOrEqualFilter::create('StartDate'); $filters['EndDateFrom'] = GreaterThanOrEqualFilter::create('EndDate'); $filters['EndDateTo'] = LessThanOrEqualFilter::create('EndDate'); $context->setFilters($filters); return $context; }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('ConfiguredScheduleID'); $interval = $fields->dataFieldByName('Interval')->setDescription('Number of seconds between each run. e.g 3600 is 1 hour'); $fields->replaceField('Interval', $interval); $dt = new DateTime(); $fields->replaceField('StartDate', DateField::create('StartDate')->setConfig('dateformat', 'dd/MM/yyyy')->setConfig('showcalendar', true)->setDescription('DD/MM/YYYY e.g. ' . $dt->format('d/m/y'))); $fields->replaceField('EndDate', DateField::create('EndDate')->setConfig('dateformat', 'dd/MM/yyyy')->setConfig('showcalendar', true)->setDescription('DD/MM/YYYY e.g. ' . $dt->format('d/m/y'))); if ($this->ID == null) { foreach ($fields->dataFields() as $field) { //delete all included fields $fields->removeByName($field->Name); } $rangeTypes = ClassInfo::subclassesFor('ScheduleRange'); $fields->addFieldToTab('Root.Main', TextField::create('Title', 'Title')); $fields->addFieldToTab('Root.Main', DropdownField::create('ClassName', 'Range Type', $rangeTypes)); } else { $fields->addFieldToTab('Root.Main', ReadonlyField::create('ClassName', 'Type')); } if ($this->ClassName == __CLASS__) { $fields->removeByName('ApplicableDays'); } return $fields; }
public function updateCMSFields(FieldList $fields) { $fields->insertBefore(new Tab('MembershipDetails', 'Membership Details'), 'Main'); //move first and ;astname $fields->addFieldToTab('Root.MembershipDetails', $fields->dataFieldByName('FirstName')); $fields->addFieldToTab('Root.MembershipDetails', $fields->dataFieldByName('Surname')); $fields->addFieldToTab('Root.MembershipDetails', $fields->dataFieldByName('Email')); $fields->addFieldToTab('Root.MembershipDetails', $region = DropdownField::create('RegionID', 'Region', Region::get()->map('ID', 'Title'))); $region->setEmptyString(' '); $fields->addFieldToTab('Root.MembershipDetails', DropdownField::create('MembershipStatus', 'Membership Status', $this->owner->dbObject('MembershipStatus')->enumValues())); $fields->addFieldToTab('Root.MembershipDetails', $expiry = DateField::create('ExpiryDate')); $fields->addFieldToTab('Root.MembershipDetails', DropdownField::create('Discount', 'Discount', $this->owner->dbObject('Discount')->enumValues())); $fields->addFieldToTab('Root.MembershipDetails', $discountExpiry = DateField::create('DiscountExpiryDate')); $fields->addFieldToTab('Root.MembershipDetails', $joined = DateField::create('JoinedDate')); $fields->addFieldToTab('Root.MembershipDetails', TextareaField::create('NotesForMember')); if ($this->owner->MembershipStatus !== "Not applied") { $fields->addFieldToTab('Root.MembershipDetails', TextField::create('MemberNumber')); } $fields->addFieldToTab('Root.MembershipDetails', TextField::create('HomePhone')); $fields->addFieldToTab('Root.MembershipDetails', TextField::create('WorkPhone')); $fields->addFieldToTab('Root.MembershipDetails', TextField::create('MobilePhone')); $fields->addFieldToTab('Root.MembershipDetails', TextareaField::create('Address')); $fields->addFieldToTab('Root.MembershipDetails', TextField::create('Occupation')); $fields->addFieldToTab('Root.MembershipDetails', TextField::create('BirthDate')); $expiry->setConfig('showcalendar', true); $expiry->setConfig('showdropdown', true); $expiry->setConfig('dateformat', 'dd-MM-YYYY'); $discountExpiry->setConfig('showcalendar', true); $discountExpiry->setConfig('showdropdown', true); $discountExpiry->setConfig('dateformat', 'dd-MM-YYYY'); $joined->setConfig('showcalendar', true); $joined->setConfig('showdropdown', true); $joined->setConfig('dateformat', 'dd-MM-YYYY'); }
function getCMSFields() { $fields = parent::getCMSFields(); $dateField = DateField::create('Date')->setConfig('showcalendar', true); $fields->addFieldToTab('Root.Main', $dateField, 'Content'); return $fields; }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->replaceField('Date', DateField::create('Date')->setConfig('showcalendar', true)); $this->extend('updateCMSFields', $fields); return $fields; }
public function updateCMSFields(FieldList $fields) { $countdownTypes = array(); foreach ($this->options as $key => $value) { $countdownTypes[$key] = $key; } $fields->addFieldsToTab('Root.Countdown', array(DateField::create('EndDate', 'EndDate')->setConfig('showcalendar', true), DropdownField::create('CountdownType', 'CountdownType', $countdownTypes)->setEmptyString('Select one'), TextField::create('CountdownElementID'), TextField::create('CountdownElementClass'))); }
/** * @return FieldList */ public function parameterFields() { $filtersList = new FieldList(); $filtersList->push(DateField::create("ReviewDateAfter", "Review date after or on")->setConfig("showcalendar", true)); $filtersList->push(DateField::create("ReviewDateBefore", "Review date before or on", date("d/m/Y", strtotime("midnight")))->setConfig("showcalendar", true)); $filtersList->push(new CheckboxField("ShowVirtualPages", "Show Virtual Pages")); return $filtersList; }
function TypoForm() { $array = array('green', 'yellow', 'blue', 'pink', 'orange'); $form = new Form($this, 'TestForm', $fields = FieldList::create(HeaderField::create('HeaderField1', 'HeaderField Level 1', 1), LiteralField::create('LiteralField', '<p>All fields up to EmailField are required and should be marked as such</p>'), TextField::create('TextField1', 'Text Field Example 1'), TextField::create('TextField2', 'Text Field Example 2'), TextField::create('TextField3', 'Text Field Example 3'), TextField::create('TextField4', ''), HeaderField::create('HeaderField2b', 'Field with right title', 2), $textAreaField = new TextareaField('TextareaField', 'Textarea Field'), EmailField::create('EmailField', 'Email address'), HeaderField::create('HeaderField2c', 'HeaderField Level 2', 2), DropdownField::create('DropdownField', 'Dropdown Field', array(0 => '-- please select --', 1 => 'test AAAA', 2 => 'test BBBB')), OptionsetField::create('OptionSF', 'Optionset Field', $array), CheckboxSetField::create('CheckboxSF', 'Checkbox Set Field', $array), CountryDropdownField::create('CountryDropdownField', 'Countries'), CurrencyField::create('CurrencyField', 'Bling bling', '$123.45'), HeaderField::create('HeaderField3', 'Other Fields', 3), NumericField::create('NumericField', 'Numeric Field '), DateField::create('DateField', 'Date Field'), DateField::create('DateTimeField', 'Date and Time Field'), CheckboxField::create('CheckboxField', 'Checkbox Field')), $actions = FieldList::create(FormAction::create('submit', 'Submit Button')), $requiredFields = RequiredFields::create('TextField1', 'TextField2', 'TextField3', 'ErrorField1', 'ErrorField2', 'EmailField', 'TextField3', 'RightTitleField', 'CheckboxField', 'CheckboxSetField')); $textAreaField->setColumns(45); $form->setMessage('warning message', 'warning'); return $form; }
public function __construct($name, $title = null, $value = "") { $this->config = $this->config()->default_config; $this->dateField = DateField::create($name . '[date]', false)->addExtraClass('fieldgroup-field'); $this->timeField = TimeField::create($name . '[time]', false)->addExtraClass('fieldgroup-field'); $this->timezoneField = new HiddenField($this->getName() . '[timezone]'); parent::__construct($name, $title, $value); }
function __construct($name, $title = null, $value = "") { $this->config = self::$default_config; $this->dateField = DateField::create($name . '[date]', false); $this->timeField = TimeField::create($name . '[time]', false); $this->timezoneField = new HiddenField($this->getName() . '[timezone]'); parent::__construct($name, $title, $value); }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldsToTab('Root.Main', array($start = DateField::create('Startdate', 'Startdatum'), $end = DateField::create('Enddate', 'Einddatum'))); $start->setConfig('showcalendar', true); $end->setConfig('showcalendar', true); return $fields; }
/** * Returns fields for entering date and time. NB injector has overridden the TimeField to be CERATimeField to * fix a problem saving DatatimeField with no date. * * @return array */ public function cmsFields() { if (static::ShowTimeField) { return [DTField::create(static::SingleFieldName)]; } else { return [DField::create(static::SingleFieldName)]; } }
public function getConfiguration() { $fields = parent::getConfiguration(); $fields->push(DateField::create('StartDate', 'Start Date')->setConfig('showcalendar', true)); $fields->push(DateField::create('EndDate', 'End Date')->setConfig('showcalendar', true)); $fields->push(DropdownField::create('SelectCriteria', 'Select Criteria', singleton('DashboardRevenueUnitsByProductPanel')->dbObject('SelectCriteria')->enumValues())->setEmptyString('(Select criteria)')); return $fields; }
public function __construct($modelClass, $newsAdmin = null, $fields = null, $filters = null) { $fields = new FieldList(TextField::create('Title'), TextField::create('URLSegment'), DropdownField::create('ParentID', 'Parent page')->setSource(NewsIndex::get()->map('ID', 'Title')->toArray())->setEmptyString('Select'), HeaderField::create('DatesHeader', 'Dates')->setHeadingLevel(3), DateField::create('StartDate')->setTitle(null)->setAttribute('placeholder', 'Start Date'), DateField::create('EndDate')->setTitle(null)->setAttribute('placeholder', 'End Date'), CheckboxSetField::create('Types')->setSource(NewsSearchContext::GetNewsTypes($newsAdmin))->setValue(isset($_REQUEST['q']) && isset($_REQUEST['q']['Types']) ? $_REQUEST['q']['Types'] : null), TextField::create('Tags'), TextField::create('Summary'), TextField::create('Content'), TextField::create('Author'), CheckboxSetField::create('Categories')->setSource(NewsCategory::get()->map('ID', 'Title')->toArray())->setValue(isset($_REQUEST['q']) && isset($_REQUEST['q']['Categories']) ? $_REQUEST['q']['Categories'] : null)); $filters = array('Title' => new PartialMatchFilter('Title'), 'URLSegment' => new PartialMatchFilter('URLSegment'), 'ParentID' => new ExactMatchFilter('ParentID'), 'Tags' => new PartialMatchFilter('Tags'), 'Summary' => new PartialMatchFilter('Summary'), 'Content' => new PartialMatchFilter('Content'), 'Author' => new PartialMatchFilter('Author'), 'StartDate' => new GreaterThanOrEqualFilter('DateTime'), 'EndDate' => new LessThanOrEqualFilter('DateTime')); if ($newsAdmin) { $this->newsAdmin = $newsAdmin; } parent::__construct($modelClass, $fields, $filters); }
/** * @return FieldList */ public function parameterFields() { $filtersList = new FieldList(); $filtersList->push(DateField::create("ReviewDateAfter", _t("PagesDueForReviewReport.REVIEWDATEAFTER", "Review date after or on"))->setConfig("showcalendar", true)); $filtersList->push(DateField::create("ReviewDateBefore", _t("PagesDueForReviewReport.REVIEWDATEBEFORE", "Review date before or on"), date("d/m/Y", strtotime("midnight")))->setConfig("showcalendar", true)); $filtersList->push(new CheckboxField("ShowVirtualPages", _t("PagesDueForReviewReport.SHOWVIRTUALPAGES", "Show Virtual Pages"))); $filtersList->push(new CheckboxField("OnlyMyPages", _t("PagesDueForReviewReport.ONLYMYPAGES", "Only Show pages assigned to me"))); return $filtersList; }
public function getCMSFields() { $fields = FieldList::create(TabSet::create('Root')); $fields->addFieldsToTab('Root.Main', array(TextField::create('Title'), TextareaField::create('Description'), DropdownField::create('CategoryID', 'Category')->setSource(DirectoryCategory::get()->map('ID', 'Title'))->setEmptyString('-- Select a category --'), TextField::create('Manager'), TextareaField::create('Address'), TextField::create('City'), CountryDropdownField::create('Country'), TextField::create('Website'), TextField::create('Email'), TextField::create('Phone'), DateField::create('Date')->setConfig('showcalendar', true)->setConfig('dateformat', 'd MMMM yyyy'))); $fields->addFieldToTab('Root.Photos', $upload = UploadField::create('Photo', 'Photo')); $upload->getValidator()->setAllowedExtensions(array('png', 'jpeg', 'jpg', 'gif')); $upload->setFolderName('directory-photos'); return $fields; }
public function getCMSFields() { $this->beforeUpdateCMSFields(function (FieldList $fields) { $fields->addFieldsToTab('Root.Main', [TextField::create('Title', 'Author'), TextField::create('Company', 'Company'), DateField::create('Date', 'Date')->setConfig('showcalendar', true), UploadField::create('Image', 'Image'), HtmlEditorField::create('Testimonial', 'Testimonial')->setRows(20)]); $fields->removeByName('SortOrder'); $fields->removeByName('PageID'); }); $fields = parent::getCMSFields(); return $fields; }
/** * Edit the cms fields in the CMS * * @return FieldList */ public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldToTab('Root.Main', DateField::create('DatePublished', 'Enter a published date')->setConfig('dateformat', 'dd-MM-yyyy')->setConfig('dmyseparator', ' ')->setConfig('showcalendar', true)); $fields->addFieldToTab('Root.Main', $uploadField = new UploadField($name = 'ArticleSummaryImage', $title = 'Upload an article summary image')); $fields->addFieldToTab('Root.Main', new HTMLEditorField('Summary', 'Summary')); $tagfield = TagField::create('NewsTags', 'News Tags', NewsTag::get(), $this->NewsTags())->setShouldLazyLoad(true)->setCanCreate(true); $fields->addFieldToTab('Root.Main', $tagfield); return $fields; }
public function Form() { $fields = FieldList::create(CompositeField::create(array(TextField::create('FirstName', 'First Name')->addExtraClass('col-sm-6 col-xs-12'), TextField::create('LastName', 'Last Name')->addExtraClass('col-sm-6 col-xs-12'), TextField::create('Email', 'Email Address')->addExtraClass('col-sm-6 col-xs-12'), TextField::create('Contact', 'Contact Number')->addExtraClass('col-sm-6 col-xs-12'), TextField::create('CallingTime', 'Best Calling Time')->addExtraClass('col-sm-6 col-xs-12'), TextField::create('LiquidCapital', 'Liquid Capital')->addExtraClass('col-sm-6 col-xs-12'), DateField::create('TimeStart', 'Time Frame to Start')->setConfig('showcalendar', 'true')->addExtraClass('col-sm-6 col-xs-12')))->addExtraClass('info'), CompositeField::create(array(TextareaField::create('Area', 'In what area are you looking to invest in a franchise?')->addExtraClass('col-sm-12'), TextareaField::create('Experience', 'Business & Relevant Experience')->addExtraClass('col-sm-12'), TextareaField::create('Hear', 'How did you hear about the Beard Papa’s franchise')->addExtraClass('col-sm-12'), TextareaField::create('Message', 'Message')->addExtraClass('col-sm-12')))->addExtraClass('questions')); $actions = FieldList::create(FormAction::create('Send', 'Send')->addExtraClass('btn btn-primary')); $requires = RequiredFields::create('FirstName', 'LastName', 'Email', 'Contact', 'CallingTime', 'LiquidCapital', 'TimeStart', 'Area', 'Experience', 'Hear'); $form = new Form($this, __FUNCTION__, $fields, $actions, $requires); if ($formData = Session::get('FranchiseData')) { $form->loadDataFrom($formData); } return $form; }
public function getCMSFields() { $fields = parent::getCMSFields(); // Embargo $embargo = ToggleCompositeField::create('Embargo', 'Embargo', array(DateField::create('Starts', 'Allow participation from')->setRightTitle('Optional. If left blank, participation starts when page is published')->setConfig('showcalendar', true), DateField::create('Expires', 'Until')->setRightTitle('Optional. If left blank, participation will end when page is unpublished.')->setConfig('showcalendar', true)))->setStartClosed(false); $fields->addFieldToTab('Root.FormOptions', $embargo, 'SubmitButtonText'); // Reports $config = GridFieldConfig_RecordEditor::create(); $reports = GridField::create('Reports', 'Reports', $this->Reports(), $config); $fields->addFieldToTab('Root.Reports', $reports); return $fields; }
/** * getCMSFields * Customise the FieldList used in the CMS. * * @return FieldList */ public function getCMSFields() { Requirements::css('torindul-silverstripe-shop/css/LeftAndMain.css'); /* * In order to keep the automatic construction of the has_one relationship in the backgroud we will make * use of the parent's getCMSFields() and not create our own FieldList as in other models */ $fields = parent::getCMSFields(); //Remove fields $fields->removeFieldsFromTab("Root.Main", array("ProductID", "Title", "Author", "Date", "Content")); $fields->addFieldsToTab("Root.Main", array(HeaderField::create("Add/Edit Custom Field"), CompositeField::create(TextField::create("Title", "Review Title")->setRightTitle("A title related to the content of the review. i.e. 'Awesome Purchase'."), DateField::create("Date", "Date of Review")->setRightTitle("The date this review was made. Format as DD-MM-YYYY.")->setConfig('dateformat', 'dd-MM-yyyy')->setConfig('showcalendar', true), TextareaField::create("Content", "Review Content")->setRightTitle("The contents of the review.")))); return $fields; }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldToTab('Root.Main', DateField::create('Date')->setConfig('showcalendar', true), 'Content'); $fields->addFieldToTab('Root.Main', TextField::create('Author', 'Author'), 'Content'); $fields->addFieldToTab('Root.Main', TextAreaField::create('Intro', 'Intro'), 'Content'); $fields->addFieldToTab('Root.Main', TextField::create('Factheading', 'Fact Heading'), 'Content'); $fields->addFieldToTab('Root.Main', TextAreaField::create('Fact', 'Fun Fact'), 'Content'); $fields->addFieldToTab('Root.Attachments', $photo = UploadField::create('BlogPhotos', 'Photos')); $photo->getValidator()->setAllowedExtensions(array('png', 'gif', 'jpg', 'jpeg')); $photo->setFolderName('blog-photos'); return $fields; }
/** * Display the appropriate CMS media page fields and respective media type attributes. */ public function getCMSFields() { $fields = parent::getCMSFields(); // Display the media type as read only. $fields->addFieldToTab('Root.Main', ReadonlyField::create('Type', 'Type', $this->MediaType()->Title), 'Title'); // Display a notification that the parent holder contains mixed children. $parent = $this->getParent(); if ($parent && $parent->getMediaHolderChildren()->exists()) { Requirements::css(MEDIAWESOME_PATH . '/css/mediawesome.css'); $fields->addFieldToTab('Root.Main', LiteralField::create('MediaNotification', "<p class='mediawesome notification'><strong>Mixed {$this->MediaType()->Title} Holder</strong></p>"), 'Type'); } // Display the remaining media page fields. $fields->addFieldToTab('Root.Main', TextField::create('ExternalLink')->setRightTitle('An <strong>optional</strong> redirect URL to the media source'), 'URLSegment'); $fields->addFieldToTab('Root.Main', DateField::create('Date')->setConfig('showcalendar', true)->setConfig('dateformat', 'dd/MM/YYYY'), 'Content'); // Allow customisation of categories and tags respective to the current page. $tags = MediaTag::get()->map()->toArray(); $fields->findOrMakeTab('Root.CategoriesTags', 'Categories and Tags'); $fields->addFieldToTab('Root.CategoriesTags', $categoriesList = ListboxField::create('Categories', 'Categories', $tags)->setMultiple(true)); $fields->addFieldToTab('Root.CategoriesTags', $tagsList = ListboxField::create('Tags', 'Tags', $tags)->setMultiple(true)); if (!$tags) { $categoriesList->setAttribute('disabled', 'true'); $tagsList->setAttribute('disabled', 'true'); } // Allow customisation of media type attribute content respective to the current page. if ($this->MediaAttributes()->exists()) { foreach ($this->MediaAttributes() as $attribute) { if (strrpos($attribute->OriginalTitle, 'Date') || strrpos($attribute->Title, 'Date')) { // Display an attribute as a date field where appropriate. $fields->insertAfter('Date', $custom = DateField::create("{$attribute->ID}_MediaAttribute", $attribute->Title, $attribute->Content ? date('d/m/Y', strtotime($attribute->Content)) : null)->setConfig('showcalendar', true)->setConfig('dateformat', 'dd/MM/YYYY')); } else { $fields->addFieldToTab('Root.Main', $custom = TextField::create("{$attribute->ID}_MediaAttribute", $attribute->Title, $attribute->Content), 'Content'); } $custom->setRightTitle('Custom <strong>' . strtolower($this->MediaType()->Title) . '</strong> attribute'); } } // Display an abstract field for content summarisation. $fields->addfieldToTab('Root.Main', $abstract = TextareaField::create('Abstract'), 'Content'); $abstract->setRightTitle('A concise summary of the content'); $abstract->setRows(6); // Allow customisation of images and attachments. $type = strtolower($this->MediaType()->Title); $fields->findOrMakeTab('Root.ImagesAttachments', 'Images and Attachments'); $fields->addFieldToTab('Root.ImagesAttachments', $images = UploadField::create('Images')); $images->getValidator()->setAllowedExtensions(array('jpg', 'jpeg', 'png', 'gif', 'bmp')); $images->setFolderName("media-{$type}/{$this->ID}/images"); $fields->addFieldToTab('Root.ImagesAttachments', $attachments = UploadField::create('Attachments')); $attachments->setFolderName("media-{$type}/{$this->ID}/attachments"); // Allow extension customisation. $this->extend('updateMediaPageCMSFields', $fields); return $fields; }
/** * getCMSFields * @return FieldList **/ public function getCMSFields() { $fields = parent::getCMSFields(); $fields->dataFieldByName('Title')->setTitle('Article Title'); $fields->dataFieldByName('Content')->setTitle('Article Content'); $config = $this->config(); // publish date $fields->addFieldToTab('Root.Main', DateField::create('PublishDate')->setAttribute('placeholder', $this->dbObject('Created')->Format('M d, Y')), 'Content'); // tags if ($config->enable_tags) { $tagSource = function () { return NewsTag::get()->map()->toArray(); }; $fields->addFieldToTab('Root.Main', ListboxField::create('Tags', 'Tags', $tagSource(), null, null, true)->useAddnew('NewsTag', $tagSource), 'Content'); } // author if ($config->author_mode == 'string') { $fields->addFieldToTab('Root.Main', TextField::create('Author', 'Author'), 'Content'); } if ($config->author_mode == 'object') { $authorSource = function () { return NewsAuthor::get()->map('ID', 'Name')->toArray(); }; $fields->addFieldToTab('Root.Main', DropdownField::create('NewsAuthorID', 'Author', $authorSource())->useAddNew('NewsAuthor', $authorSource)->setHasEmptyDefault(true), 'Content'); } // featured if ($config->enable_featured_articles) { $fields->addFieldToTab('Root.Main', CheckboxField::create('Featured', _t('NewsArticle.FEATURED', 'Feature this article')), 'Content'); } // images if ($config->enable_images) { $fields->addFieldToTab('Root.FilesAndImages', UploadField::create('Image')->setAllowedFileCategories('image')->setAllowedMaxFileNumber(1)->setFolderName($config->get('image_folder'))); } // attachments if ($config->enable_attachments) { $fields->addFieldToTab('Root.FilesAndImages', UploadField::create('Attachment')->setAllowedFileCategories('doc')->setAllowedMaxFileNumber(1)->setFolderName($config->get('attachment_folder'))); } // summary if ($config->enable_summary) { $fields->addFieldToTab('Root.Main', HTMLEditorField::create('Summary', 'Article Summary'), 'Content'); } // parent $holders = NewsHolder::get(); if ($holders->count() > 1) { $fields->addFieldToTab('Root.Main', DropdownField::create('ParentID', 'News Section', $holders->map()->toArray()), 'Title'); } else { $fields->addFieldToTab('Root.Main', HiddenField::create('ParentID', 'News Section', $holders->first()->ID), 'Title'); } $this->extend('updateArticleCMSFields', $fields); return $fields; }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldToTab('Root.Main', DateField::create('Date', 'Date of article')->setConfig('showcalendar', true), 'Content'); $fields->addFieldToTab('Root.Main', TextareaField::create('Teaser'), 'Content'); $fields->addFieldToTab('Root.Main', TextField::create('Author', 'Author of article'), 'Content'); $fields->addFieldToTab('Root.Attachments', $photo = UploadField::create('Photo')); $fields->addFieldToTab('Root.Attachments', $brochure = UploadField::create('Brochure', 'Travel brochure, optional (PDF only)')); $photo->setFolderName('travel-photos')->getValidator()->setAllowedExtensions(array('gif', 'jpg', 'jpeg', 'png')); $brochure->setFolderName('travel-brochures')->getValidator()->setAllowedExtensions(array('pdf')); $fields->addFieldToTab('Root.Categories', CheckboxSetField::create('Categories', 'Selected categories', $this->Parent()->Categories()->map('ID', 'Title'))); $fields->addFieldToTab('Root.Main', DropdownField::create('RegionID', 'Region', Region::get()->map('ID', 'Title'))->setEmptyString('-- None --'), 'Content'); return $fields; }
public function getCMSFields() { $fields = parent::getCMSFields(); // TODO: Change the autogenerated stub $fields->addFieldsToTab('Root.Main', DateField::create('Date', 'article date'), 'Content'); $fields->addFieldsToTab('Root.Main', TextareaField::create('Teaser', 'Teaser text'), 'Content'); $fields->addFieldsToTab('Root.Main', TextField::create('Author', 'Who made this post possible'), 'Content'); $fields->addFieldToTab('Root.Attachments', $photo = UploadField::create('Photo')); $fields->addFieldToTab('Root.Attachments', $brochure = UploadField::create('Brochure', 'Travel brochure, optional (PDF only)')); $photo->setFolderName('travel-photos'); $brochure->setFolderName('travel-brochures')->getValidator()->setAllowedExtensions(array('pdf')); $fields->addFieldsToTab('Root.Categories', CheckboxSetField::create('Categories', 'Categories this article belongs to', $this->Parent()->Categories()->map('ID', 'Title'))); return $fields; }
/** * @return FieldList */ public function getCMSFields() { /** @var FieldList $fields */ $fields = parent::getCMSFields(); /** @var UploadField $blogImage */ $fields->addFieldToTab('Root.Main', $blogImage = UploadField::create('Image', _t('BlogPage.Image', 'Image')), 'Content'); $blogImage->setRightTitle(_t('BlogPage.ImageRightTitle', 'Image is used on BlogHolder pages as a thumbnail, as well as at the top of this page\'s content.')); $blogImage->setFolderName('Uploads/blog'); $blogImage->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png')); /** @var DateField $dateField */ $fields->addFieldToTab('Root.Main', $dateField = DateField::create('Date', _t('BlogPage.Date', 'Article Date (optional)')), 'Content'); $dateField->setConfig('showcalendar', true); $fields->addFieldToTab('Root.Main', TextField::create('Author', _t('BlogPage.Author', 'Author (optional)')), 'Content'); return $fields; }
public function getCMSFields() { $datefield = DateField::create('Date')->setTitle('Article Date'); $datefield->setConfig('showcalendar', true); $datefield->setConfig('dateformat', 'MM/dd/YYYY'); $imagefield = UploadField::create('Photo')->setTitle('Featured Photo'); $imagefield->folderName = 'News'; $imagefield->getValidator()->allowedExtensions = array('jpg', 'jpeg', 'gif', 'png'); $imagefield->getValidator()->setAllowedMaxFileSize('2097152'); // 2 MB in bytes $categoriesMap = NewsCategory::get()->filter('NewsHolderID', $this->Parent()->ID)->sort('Title ASC')->map('ID', 'Title')->toArray(); $fields = parent::getCMSFields(); $fields->addFieldsToTab('Root.Main', array($datefield, TextField::create('Author')->setTitle('Author Name'), $imagefield, ListboxField::create('NewsCategories')->setTitle('Category')->setMultiple(true)->setSource($categoriesMap)), 'Content'); return $fields; }