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;
 }
예제 #2
0
 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;
 }
예제 #5
0
 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);
 }
예제 #12
0
 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);
 }
예제 #13
0
 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;
 }
예제 #20
0
 /**
  * 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;
 }
예제 #21
0
 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;
 }
예제 #24
0
 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;
 }
예제 #25
0
 /**
  *	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;
 }
예제 #26
0
 /**
  * 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;
 }
예제 #27
0
 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;
 }
예제 #28
0
 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;
 }