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'); }
public function updateCMSFields(FieldList $fields) { $fields->removeFieldFromTab("Root.Main", "MenuTitle"); $fields->addFieldToTab('Root.Main', new LiteralField("manage", "<a style='margin-bottom:15px' class='backlink ss-ui-button cms-panel-link ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary ui-state-hover ui-state-active' data-icon='back' href='" . Director::absoluteBaseURL() . "admin/pages/edit/show/" . $this->owner->Parent()->ID . "' role='button' aria-disabled='false'><span class='ui-button-icon-primary ui-icon btn-icon-back'></span><span style='padding-left:5px' >\n\t\t\tManage Posts\n\t\t</span></a>"), 'Title'); $image = $fields->dataFieldByName("FeaturedImage"); if ($image) { $image->setFolderName('Managed/BlogPosts/Featured'); $image->setCanPreviewFolder(false); } // Get config options for using tags / categories $use_categories = Config::inst()->get("Blog", 'use_categories'); $use_tags = Config::inst()->get("Blog", 'use_tags'); $use_featured_image = Config::inst()->get("Blog", 'use_featured_image'); // Adds message below tags/categories fields if none exist telling user where to create them if (!$this->owner->Parent()->Categories()->count() && $use_categories) { $cats = $fields->dataFieldByName("Categories"); $cats->setRightTitle("You must first add categories via the <strong>Blog Options</strong> tab on the <a href='admin/pages/edit/show/" . $this->owner->Parent()->ID . "'>main Blog page</a>."); } if (!$this->owner->Parent()->Tags()->count() && $use_tags) { $cats = $fields->dataFieldByName("Tags"); $cats->setRightTitle("You must first add tags via the <strong>Blog Options</strong> tab on the <a href='admin/pages/edit/show/" . $this->owner->Parent()->ID . "'>main Blog page</a>."); } // Hide tags/categories fields if turned off in config if (!$use_categories) { $fields->removeByName("Categories"); } if (!$use_tags) { $fields->removeByName("Tags"); } if (!$use_featured_image && !$this->owner->FeaturedImage()->exists()) { $fields->removeFieldFromTab("Root.Main", "FeaturedImage"); } // Need to add proper support for this, removing for now, needs to play nicely with my "Disply Full Posts" option: $fields->removeFieldFromTab("Root.Main", "CustomSummary"); }
/** * @param string $message * @param string $messageType */ public function setError($message, $messageType) { // show the manual fields $this->manualToggle->setValue('1'); $name = $this->getName(); $field = $this->manualFields->dataFieldByName("{$name}[{$messageType}]"); if ($field) { $field->setError($message, 'validation'); } }
public function updateCMSFields(FieldList $fields) { $fields->dataFieldByName('Title')->setTitle(_t('Linkable.TITLE', 'Link Text')); $fields->dataFieldByName('OpenInNewWindow')->hideIf("Type")->isEqualTo("File")->end(); /** @var TextField $seoText */ $fields->addFieldToTab('Root.Main', $seoText = TextField::create('LinkSeoText', _t('Linkable.SEOTEXT', 'SEO Title Attribute')), 'Type'); $seoText->setDescription('Optional. Will be equal to Link Text if left blank'); $fields->addFieldToTab('Root.Main', $forceDownload = CheckboxField::create('ForceDownload', _t('Linkable.FORCEDOWNLOAD', 'Force user to download file'))); $forceDownload->displayIf('Type')->isEqualTo("File")->end(); $fields->removeByName('OwningPageID'); }
public function updateCMSFields(FieldList $fields) { $field = $fields->dataFieldByName('MetaTitle'); if ($field) { $field->setAttribute('data-length', self::$meta_title_length); } $field = $fields->dataFieldByName('MetaDescription'); if ($field) { $field->setAttribute('data-length', self::$meta_description_length); } return $fields; }
function updateCMSFields(FieldList $fields) { $subsites = Subsite::accessible_sites("CMS_ACCESS_CMSMain"); $subsitesMap = array(); if ($subsites && $subsites->Count()) { $subsitesMap = $subsites->map('ID', 'Title'); unset($subsitesMap[$this->owner->SubsiteID]); } // Master page edit field (only allowed from default subsite to avoid inconsistent relationships) $isDefaultSubsite = $this->owner->SubsiteID == 0 || $this->owner->Subsite()->DefaultSite; if ($isDefaultSubsite && $subsitesMap) { $fields->addFieldToTab('Root.Main', new DropdownField("CopyToSubsiteID", _t('SiteTreeSubsites.CopyToSubsite', "Copy page to subsite"), $subsitesMap, '')); $fields->addFieldToTab('Root.Main', $copyAction = new InlineFormAction("copytosubsite", _t('SiteTreeSubsites.CopyAction', "Copy"))); $copyAction->includeDefaultJS(false); } // replace readonly link prefix $subsite = $this->owner->Subsite(); $nested_urls_enabled = Config::inst()->get('SiteTree', 'nested_urls'); if ($subsite && $subsite->ID) { $baseUrl = Director::protocol() . $subsite->domain() . '/'; $baseLink = Controller::join_links($baseUrl, $nested_urls_enabled && $this->owner->ParentID ? $this->owner->Parent()->RelativeLink(true) : null); $urlsegment = $fields->dataFieldByName('URLSegment'); $urlsegment->setURLPrefix($baseLink); } }
/** * @param FieldList $fields */ public function updateCMSFields(FieldList $fields) { // Redo LDAP metadata fields as read-only and move to LDAP tab. $ldapMetadata = array(); $fields->replaceField('IsImportedFromLDAP', $ldapMetadata[] = new ReadonlyField('IsImportedFromLDAP', _t('LDAPMemberExtension.ISIMPORTEDFROMLDAP', 'Is user imported from LDAP/AD?'))); $fields->replaceField('GUID', $ldapMetadata[] = new ReadonlyField('GUID')); $fields->replaceField('IsExpired', $ldapMetadata[] = new ReadonlyField('IsExpired', _t('LDAPMemberExtension.ISEXPIRED', 'Has user\'s LDAP/AD login expired?'))); $fields->replaceField('LastSynced', $ldapMetadata[] = new ReadonlyField('LastSynced', _t('LDAPMemberExtension.LASTSYNCED', 'Last synced'))); $fields->addFieldsToTab('Root.LDAP', $ldapMetadata); if ($this->owner->IsImportedFromLDAP) { // Transform the automatically mapped fields into read-only. $mappings = Config::inst()->get('Member', 'ldap_field_mappings'); foreach ($mappings as $ldap => $ss) { $field = $fields->dataFieldByName($ss); if (!empty($field)) { // This messes up the Member_Validator, preventing the record from saving :-( // $field->setReadonly(true); $field->setTitle($field->Title() . _t('LDAPMemberExtension.IMPORTEDFIELD', ' (imported)')); } } // Display alert message at the top. $message = _t('LDAPMemberExtension.INFOIMPORTED', 'This user is automatically imported from LDAP. ' . 'Manual changes to imported fields will be removed upon sync.'); $fields->addFieldToTab('Root.Main', new LiteralField('Info', sprintf('<p class="message warning">%s</p>', $message)), 'FirstName'); } }
public function updateCMSFields(FieldList $fields) { $logo = $fields->dataFieldByName('Logo'); $fields->removeByName('ParentID'); $fields->removeByName('Sort'); $fields->insertAfter($logo, 'Title'); }
public function updateCMSFields(\FieldList $fields) { if (!$this->owner->Deleted) { $fields->removeByName('Deleted'); $fields->removeByName('DeletedByID'); } else { $Deleted = $fields->dataFieldByName('Deleted'); $DeletedByID = $fields->dataFieldByName('DeletedByID'); if ($Deleted) { $fields->makeFieldReadonly('Deleted'); } if ($DeletedByID) { $fields->makeFieldReadonly('DeletedByID'); } } }
public function updateCMSFields(FieldList $fields) { if (!$fields->dataFieldByName('ActivateMinisite')) { $fields->addFieldToTab('Root.Main', new FieldGroup("Minisite Layout", array(new CheckboxField('ActivateMinisite', 'Activate'))), "Title"); } return $fields; }
public function updateCMSFields(FieldList $fields) { $subsites = class_exists('Subsite'); $onMainSite = TRUE; $currentSubsiteID = 0; $currentSiteConfig = SiteConfig::current_site_config(); if ($subsites) { $currentSubsiteID = Subsite::currentSubsiteID(); if ($currentSubsiteID) { $onMainSite = FALSE; } $mainSiteConfig = SiteConfig::get()->filter('SubsiteID', 0)->first(); } else { $mainSiteConfig = $currentSiteConfig; } // Add mailblock CMS fields. if (Permission::check('MANAGE_MAILBLOCK') && ($mainSiteConfig->getField('MailblockApplyPerSubsite') || $onMainSite)) { $enabled = $currentSiteConfig->getField('MailblockEnabled'); $tabSet = new TabSet('Mailblock', $settingsTab = $this->basicSettingsFields(), $advancedSettingsTab = $this->advancedSettingsFields($onMainSite, $currentSubsiteID), $testTab = $this->testEmailCMSFields($enabled)); $fields->addFieldToTab('Root', $tabSet); $hiddenFields = array('MailblockEnabledOnLive', 'MailblockOverrideConfiguration', 'MailblockRecipients', 'MailblockWhitelist'); if ($subsites && $currentSubsiteID == 0) { $hiddenFields[] = 'MailblockApplyPerSubsite'; } foreach ($hiddenFields as $field) { $field = $fields->dataFieldByName($field); $field->displayIf('MailblockEnabled')->isChecked(); } } }
/** * standard SS method * @var Array **/ public function updateCMSFields(FieldList $fields) { //separate MetaTitle if (Config::inst()->get("MetaTagsContentControllerEXT", "use_separate_metatitle") == 1) { $fields->addFieldToTab('Root.Main.Metadata', $allowField0 = new TextField('MetaTitle', _t('SiteTree.METATITLE', 'Meta Title')), "MetaDescription"); $allowField0->setRightTitle(_t("SiteTree.METATITLE_EXPLANATION", "Leave this empty to use the page title")); } //info about automation $fields->addFieldToTab('Root.Main.Metadata', $allowField1 = new CheckboxField('AutomateMetatags', _t('MetaManager.UPDATEMETA', 'Automatically update Meta Description and Navigation Label? '))); $automatedFields = $this->updatedFieldsArray(); $updatedFieldString = ""; if (count($automatedFields)) { $updatedFieldString = "" . _t("MetaManager.UPDATED_EXTERNALLY", "Based on your current settings, the following fields will be automatically updated at all times") . ": <em>" . implode("</em>, <em>", $automatedFields) . "</em>."; foreach ($automatedFields as $fieldName => $fieldTitle) { $oldField = $fields->dataFieldByName($fieldName); if ($oldField) { $newField = $oldField->performReadonlyTransformation(); //$newField->setTitle($newField->Title()); $newField->setRightTitle(_t("MetaTags.AUTOMATICALLY_UPDATED", "Automatically updated when you save this page (see metadata settings).")); $fields->replaceField($fieldName, $newField); } } } $fields->removeByName('ExtraMeta'); $linkToManager = Config::inst()->get("MetaTagCMSControlPages", "url_segment") . '/'; $fields->addFieldToTab('Root.Main.Metadata', new LiteralField("LinkToManagerHeader", "<blockquote style='padding-left: 12px;'>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tOpen the Meta Tag Manager to\n\t\t\t\t\t\t<a href=\"{$linkToManager}\" target=\"_blank\">Review and Edit</a>\n\t\t\t\t\t\tthe Meta Data for all pages on this site.\n\t\t\t\t\t\tAlso make sure to review the general settings for\n\t\t\t\t\t\t<a href=\"/admin/settings/\">Search Engines</a>. {$updatedFieldString}\n\t\t\t\t\t</p>\n\t\t\t\t</blockquote>")); if ($this->owner->URLSegment == RootURLController::get_default_homepage_link()) { $newField = $fields->dataFieldByName('URLSegment'); $newField->setRightTitle("Careful: changing the URL from 'home' to anything else means that this page will no longer be the home page"); $fields->replaceField('URLSegment', $newField); } return $fields; }
public function updateCMSFields(FieldList $fields) { $grid = $fields->dataFieldByName('Members'); if ($grid) { $grid->getConfig()->removeComponentsByType('GridFieldDeleteAction'); $grid->getConfig()->addComponent(new MemberGroupDeleteAction(true)); } }
/** * Updates the CMS fields adding the fields defined in this extension * @param {FieldList} $fields Field List that new fields will be added to */ public function updateCMSFields(FieldList $fields) { $urlSegmentField = $fields->dataFieldByName('URLSegment'); if ($urlSegmentField) { $baseLink = Controller::join_links(Director::absoluteBaseURL(), (Config::inst()->get('MultilingualRootURLController', 'UseLocaleURL') ? $this->owner->Locale : i18n::get_lang_from_locale($this->owner->Locale)) . '/', SiteTree::config()->nested_urls && $this->owner->ParentID ? $this->owner->Parent()->RelativeLink(true) : null); $urlSegmentField->setURLPrefix($baseLink); } }
public function updateCMSFields(FieldList $fields) { $owner = $this->owner; if (isset($owner::$db_descriptions)) { foreach ($owner::$db_descriptions as $field => $description) { $fields->dataFieldByName($field)->setDescription($description); } } }
/** * Add required stars to field labels. * * @param array $required * @param FieldList $fields */ protected function setRequiredFieldsLabels($required, FieldList $fields) { foreach ((array) $required as $req) { $field = $fields->dataFieldByName($req); if ($field && ($title = trim($field->Title()))) { $this->setCustomValidationMessage($field, $title); $field->setTitle($title . ' *'); } } }
public function updateCMSFields(FieldList $fields) { $details = $fields->dataFieldByName('Details'); $event = $fields->dataFieldByName('EventPageID'); $cID = Calendar::get_one('Calendar')->ID; $fields->push($calendar = HiddenField::create('CalendarID', 'Calendar')); $calendar->setValue($cID); $fields->insertAfter($event, 'TimeFrameType'); $fields->insertAfter($region = DropdownField::create('RegionID', 'Region', Region::get()->map('ID', 'Title')), 'EventPageID'); $region->setEmptyString(' '); $fields->removeByName('RelatedPage'); $fields->addFieldToTab('Root.Details', TextareaField::create('Intro', 'Intro')); $fields->insertAfter($details, 'Intro'); $fields->addFieldToTab('Root.Brand', ColorPaletteField::create("Colour", "Colour", $this->owner->getPalette())); $fields->insertAfter($splash = UploadField::create('SplashImage', 'Splash Image'), 'Colour'); $fields->insertAfter($small = UploadField::create('SmallImage', 'Small Image'), 'SplashImage'); $splash->setFolderName('Uploads/Splash-Images'); $small->setFolderName('Uploads/Small-Images'); }
public function updateCMSFields(FieldList $fields) { $form = $this->nonProtectedGetFormParent(); // add back email fields to send a confirmation to $extraEmailFromFields = EditableEmailField::get()->filter('ParentID', $form->ID); $source = $fields->dataFieldByName('SendEmailToFieldID')->getSource(); // replace or add... if (Config::inst()->get(get_class(), 'replace_existing')) { $fields->dataFieldByName('SendEmailToFieldID')->setSource($extraEmailFromFields->map('ID', 'Title')->toArray())->setEmptyString(''); // allow empty } else { foreach ($extraEmailFromFields->map('ID', 'Title')->toArray() as $key => $val) { if (!$source->offsetExists($key)) { $source->unshift($key, $val); } } $fields->dataFieldByName('SendEmailToFieldID')->setSource($source)->setEmptyString(''); // allow empty } }
public function updateCMSFields(FieldList $fields) { // if there are Models set in the Product Category then use a dropdown to select if ($this->owner->Parent && $this->owner->Parent->ProductModels()->count()) { $fields->replaceField('Model', DropdownField::create('Model', _t("Product.MODELREQUIRED", "Model (required)"), ArrayLib::valuekey($this->owner->Parent->ProductModels()->column('Title')))->setEmptyString(_t("Product.MODELSELECT", "Select..."))->setAttribute('Required', true)); } else { // Update Model for extended length // see config.yml for updated db settings $model = $fields->dataFieldByName('Model'); $model->setMaxLength(100); } }
/** * Updates the form fields for address'es to use a dropdown for the state and an additional field for the other state * @param {FieldList} $fields Fields to modify */ public function updateFormFields(FieldList $fields) { $stateField = $fields->dataFieldByName('State'); if ($stateField) { $newStateField = new GroupedDropdownField('State', $stateField->Title, array(_t('FedExStateProvinceExtension.UNITED_STATES', '_United States') => array('AL' => _t('FedExStateProvinceExtension.US_AL', '_Alabama'), 'LA' => _t('FedExStateProvinceExtension.US_LA', '_Louisiana'), 'OK' => _t('FedExStateProvinceExtension.US_OK', '_Oklahoma'), 'AK' => _t('FedExStateProvinceExtension.US_AK', '_Alaska'), 'ME' => _t('FedExStateProvinceExtension.US_ME', '_Maine'), 'OR' => _t('FedExStateProvinceExtension.US_OR', '_Oregon'), 'AZ' => _t('FedExStateProvinceExtension.US_AZ', '_Arizona'), 'MD' => _t('FedExStateProvinceExtension.US_MD', '_Maryland'), 'PA' => _t('FedExStateProvinceExtension.US_PA', '_Pennsylvania'), 'AR' => _t('FedExStateProvinceExtension.US_AR', '_Arkansas'), 'MA' => _t('FedExStateProvinceExtension.US_MA', '_Massachusetts'), 'RI' => _t('FedExStateProvinceExtension.US_RI', '_Rhode Island'), 'CA' => _t('FedExStateProvinceExtension.US_CA', '_California'), 'MI' => _t('FedExStateProvinceExtension.US_MI', '_Michigan'), 'SC' => _t('FedExStateProvinceExtension.US_SC', '_South Carolina'), 'CO' => _t('FedExStateProvinceExtension.US_CO', '_Colorado'), 'MN' => _t('FedExStateProvinceExtension.US_MN', '_Minnesota'), 'SD' => _t('FedExStateProvinceExtension.US_SD', '_South Dakota'), 'CT' => _t('FedExStateProvinceExtension.US_CT', '_Connecticut'), 'MS' => _t('FedExStateProvinceExtension.US_MS', '_Mississippi'), 'TN' => _t('FedExStateProvinceExtension.US_TN', '_Tennessee'), 'DE' => _t('FedExStateProvinceExtension.US_DE', '_Delaware'), 'MO' => _t('FedExStateProvinceExtension.US_MO', '_Missouri'), 'TX' => _t('FedExStateProvinceExtension.US_TX', '_Texas'), 'DC' => _t('FedExStateProvinceExtension.US_DC', '_District of Columbia'), 'MT' => _t('FedExStateProvinceExtension.US_MT', '_Montana'), 'UT' => _t('FedExStateProvinceExtension.US_UT', '_Utah'), 'FL' => _t('FedExStateProvinceExtension.US_FL', '_Florida'), 'NE' => _t('FedExStateProvinceExtension.US_NE', '_Nebraska'), 'VT' => _t('FedExStateProvinceExtension.US_VT', '_Vermont'), 'GA' => _t('FedExStateProvinceExtension.US_GA', '_Georgia'), 'NV' => _t('FedExStateProvinceExtension.US_NV', '_Nevada'), 'VA' => _t('FedExStateProvinceExtension.US_VA', '_Virginia'), 'HI' => _t('FedExStateProvinceExtension.US_HI', '_Hawaii'), 'NH' => _t('FedExStateProvinceExtension.US_NH', '_New Hampshire'), 'WA' => _t('FedExStateProvinceExtension.US_WA', '_Washington State'), 'ID' => _t('FedExStateProvinceExtension.US_ID', '_Idaho'), 'NJ' => _t('FedExStateProvinceExtension.US_NJ', '_New Jersey'), 'WV' => _t('FedExStateProvinceExtension.US_WV', '_West Virginia'), 'IL' => _t('FedExStateProvinceExtension.US_IL', '_Illinois'), 'NM' => _t('FedExStateProvinceExtension.US_NM', '_New Mexico'), 'WI' => _t('FedExStateProvinceExtension.US_WI', '_Wisconsin'), 'IN' => _t('FedExStateProvinceExtension.US_IN', '_Indiana'), 'NY' => _t('FedExStateProvinceExtension.US_NY', '_New York'), 'WY' => _t('FedExStateProvinceExtension.US_WY', '_Wyoming'), 'IA' => _t('FedExStateProvinceExtension.US_IA', '_Iowa'), 'NC' => _t('FedExStateProvinceExtension.US_NC', '_North Carolina'), 'PR' => _t('FedExStateProvinceExtension.US_PR', '_Puerto Rico'), 'KS' => _t('FedExStateProvinceExtension.US_KS', '_Kansas'), 'ND' => _t('FedExStateProvinceExtension.US_ND', '_North Dakota'), 'KY' => _t('FedExStateProvinceExtension.US_KY', '_Kentucky'), 'OH' => _t('FedExStateProvinceExtension.US_OH', '_Ohio')), _t('FedExStateProvinceExtension.CANADA', '_Canada') => array('AB' => _t('FedExStateProvinceExtension.CA_AB', '_Alberta'), 'BC' => _t('FedExStateProvinceExtension.CA_BC', '_British Columbia'), 'MB' => _t('FedExStateProvinceExtension.CA_MB', '_Manitoba'), 'NB' => _t('FedExStateProvinceExtension.CA_NB', '_New Brunswick'), 'NL' => _t('FedExStateProvinceExtension.CA_NL', '_Newfoundland'), 'NT' => _t('FedExStateProvinceExtension.CA_NT', '_Northwest Territories and Labrador'), 'NS' => _t('FedExStateProvinceExtension.CA_NS', '_Nova Scotia'), 'NU' => _t('FedExStateProvinceExtension.CA_NU', '_Nunavut'), 'ON' => _t('FedExStateProvinceExtension.CA_ON', '_Ontario'), 'PE' => _t('FedExStateProvinceExtension.CA_PE', '_Prince Edward Island'), 'QC' => _t('FedExStateProvinceExtension.CA_QC', '_Quebec'), 'SK' => _t('FedExStateProvinceExtension.CA_SK', '_Saskatchewan'), 'YT' => _t('FedExStateProvinceExtension.CA_YT', '_Yukon')), '' => _t('FedExStateProvinceExtension.OTHER', '_Other'))); $newStateField->setDescription = $stateField->getDescription(); $newStateField->setForm($stateField->getForm()); $fields->replaceField('State', $newStateField); $fields->insertAfter($otherState = new TextField('OtherState', _t('FedExStateProvinceExtension.OTHER_STATE', '_Other State'), null, 200), 'State'); $otherState->setDescription(_t('FedExStateProvinceExtension.OTHER_DESC', '_If you chose other as your state please place it here')); $otherState->setForm($stateField->getForm()); } }
public function updateCMSFields(FieldList $fields) { $fields->addFieldToTab('Root.Main.Metadata', $keywordsField = new TextareaField('MetaKeywords', 'Meta Keywords'), "ExtraMeta"); $fields->addFieldToTab('Root.Main.Metadata', new TextField('MetaTitle', 'Meta Title'), 'MetaDescription'); foreach (array('MetaTitle', 'MetaDescription', 'MetaKeywords') as $MetaFieldName) { $oldField = $fields->dataFieldByName($MetaFieldName); $oldField->setTitle($oldField->Title() . '<span class="field_count">' . strlen($this->owner->{$MetaFieldName}) . '</span>'); } $keywordsField->setRows(1); if (permission::check('ADMIN')) { $fields->addFieldToTab("Root.Main", new CheckboxField("NoFollow", "Set nav link to no-follow?"), "MetaDescription"); $fields->addFieldToTab('Root.Main.Metadata', new TextareaField('URLRedirects', '301 Redirects')); } return $fields; }
public function updateCMSFields(FieldList $fields) { if ($this->owner->ParentID) { $url = $this->owner->Parent()->AbsoluteLink(); if (!$url) { $url = $this->owner->Parent()->getURL() . '/'; } } else { $url = Director::absoluteBaseURL(); } if (strlen($url) > 36) { $url = '...' . substr($url, -32); } $fields->dataFieldByName('URLSegment')->setURLPrefix($url); }
public function updateCMSFields(FieldList $fields) { if ($this->owner->UserSubmissionHolder()) { $gridField = $fields->dataFieldByName('Values'); if ($gridField) { $config = $gridField->getConfig(); $config->addComponent(new GridFieldEditButton()); $config->addComponent(new GridFieldToolbarHeader()); $config->addComponent($sort = new GridFieldSortableHeader()); $config->addComponent(new GridFieldDetailForm()); } $page = $this->owner->UserSubmissionPage(); if ($page && $page->exists()) { $fields->insertBefore(LiteralField::create('Values_UserSubmissionPage_Message', '<p><span style="color: #C00;">Warning:</span> Editing the submission at this level will affect the page that this is tied to.</p>'), 'Values'); } } }
public function updateCMSFields(FieldList $fields) { // replace readonly link prefix $subsite = $this->owner->Subsite(); $nested_urls_enabled = Config::inst()->get('SiteTree', 'nested_urls'); if ($subsite && $subsite->exists()) { // Use baseurl from domain $baseLink = $subsite->absoluteBaseURL(); // Add parent page if enabled if ($nested_urls_enabled && $this->owner->ParentID) { $baseLink = Controller::join_links($baseLink, $this->owner->Parent()->RelativeLink(true)); } $urlsegment = $fields->dataFieldByName('URLSegment'); if ($urlsegment) { $urlsegment->setURLPrefix($baseLink); } } }
/** * Checks through config.field_tabs for the extended class and moves fields from existing * tab to designated tab by field name. * * @param FieldList $fields */ public function updateProductCMSFields(FieldList $fields) { $extendedClass = get_class($this->owner); if ($fieldTabs = CrackerJackModule::get_config_setting(__CLASS__, 'field_tabs', $extendedClass)) { foreach ($fieldTabs as $fieldName => $tabName) { /** @var FormField $field */ if ($field = $fields->dataFieldByName($fieldName)) { $containerFieldList = $field->getContainerFieldList(); // TODO add check so we don't do this if already in correct tab $containerFieldList->removeByName($fieldName); if (0 === $containerFieldList->count()) { $fields->removeByName($fieldName, false); } $fields->addFieldToTab($tabName, $field); } } } }
public function updateCMSFields(FieldList $fields) { $grid = $fields->dataFieldByName('ApiKeys'); if (!$grid) { return; } $gridConfig = $grid->getConfig(); // Simplify view $gridConfig->removeComponentsByType('GridFieldAddExistingAutocompleter'); $gridConfig->removeComponentsByType('GridFieldDetailForm'); $gridConfig->removeComponentsByType('GridFieldEditButton'); // Better add key button $gridConfig->removeComponentsByType('GridFieldAddNewButton'); $gridConfig->addComponent(new GridFieldAddApiKeyButton('buttons-before-left')); // Replace unlink with a real delete $gridConfig->removeComponentsByType('GridFieldDeleteAction'); $gridConfig->addComponent(new GridFieldDeleteAction()); }
public function updateCMSFields(FieldList $fields) { //change Page Name label to Primary Heading - H1 - Only if the title hasn't already been changed /** @var TextField $titleField */ $titleField = $fields->dataFieldByName('Title'); if ($titleField->Title() == 'Page name') { $fields->renameField('Title', 'Primary Heading'); } //Add secondary heading - H2 $fields->insertAfter(TextField::create('SubTitle', 'Secondary Heading'), 'Title'); $traits = $this->traitsUsedRecursive($this->owner->ClassName); if ($this->owner->config()->get('has_on_after_update_cms_fields')) { $traits[] = 'HasOnAfterUpdateCMSFieldsExtensionPoint'; } if (!in_array('HasOnAfterUpdateCMSFieldsExtensionPoint', $traits)) { $this->afterUpdateCMSFields($fields); } }
public function updateCMSFields(FieldList $fields) { //change Page Name label to Primary Heading - H1 - Only if the title hasn't already been changed /** @var TextField $titleField */ $titleField = $fields->dataFieldByName('Title'); if ($titleField->Title() == 'Page Name') { $fields->renameField('Title', 'Primary Heading'); } //Add secondary heading - H2 $fields->insertAfter(TextField::create('SubTitle', 'Secondary Heading'), 'Title'); //Move meta fields to their own tab /** @var ToggleCompositeField $metaDataChildren */ $metaDataChildren = $fields->fieldByName('Root.Main.Metadata'); $children = array_merge([$metaTitle = TextField::create('MetaTitle')], $metaDataChildren->getChildren()->toArray()); $fields->removeFieldFromTab('Root.Main', 'Metadata'); $fields->addFieldToTab('Root', Tab::create('Metadata'), 'Content'); //Add META Title tag to METADATA $fields->addFieldsToTab('Root.Metadata', $children); $metaTitle->setDescription('Displayed as the tab/window name; Also displayed in search engine result listings as the page title.<br /> Falls back to the Primary Heading field if not provided.'); }
public function updateCMSFields(FieldList $fields) { Requirements::customCSS(<<<CSS \t\t\tform.small .field input.text, \t\t\tform.small .field textarea, \t\t\tform.small .field select, \t\t\tform.small .field .TreeDropdownField, \t\t\t.field.small input.text, \t\t\t.field.small textarea, \t\t\t.field.small select, \t\t\t.field.small .TreeDropdownField { \t\t\twidth: 100%; \t\t\t} CSS ); $fields->dataFieldByName('Title')->setTitle(_t('Linkable.TITLE', 'Title Attribute'))->setDescription('Describe the image to humans'); /** @var TextField $altText */ $fields->addFieldToTab('Root.Main', $altText = TextField::create('AltText', _t('Linkable.SEOTEXT', 'Alt Attribute')), 'Name'); $altText->setDescription('Describe the image to google'); $fields->removeByName('OwningPageID'); }
public function updateCMSFields(FieldList $fields) { if ($this->owner->Parent()->config()->get('hide_categories')) { $fields->removeByName('Categories'); } else { if ($this->owner->config()->get('use_addnewlistboxfield')) { // Remove this once tagfield us fixed $list = new AddNewListboxField('Categories', 'Categories', $this->owner->Parent()->Categories()->map("ID", "Title")->toArray()); $list->setMultiple(true); $list->setModel('BlogCategory')->setDialogTitle('New Category')->setBeforeWriteCallback(array($this->owner, 'AddNewDropDownFieldCategorisationCallback')); $fields->replaceField('Categories', $list); } } if ($this->owner->Parent()->config()->get('hide_tags')) { $fields->removeByName('Tags'); } else { if ($this->owner->config()->get('use_addnewlistboxfield')) { // Remove this once tagfield us fixed $list = new AddNewListboxField('Tags', 'Tags', $this->owner->Parent()->Tags()->map("ID", "Title")->toArray()); $list->setMultiple(true); $list->setModel('BlogTag')->setDialogTitle('New Tag')->setBeforeWriteCallback(array($this->owner, 'AddNewDropDownFieldCategorisationCallback')); $fields->replaceField('Tags', $list); } } if ($this->owner->config()->get('hide_authors')) { $fields->removeByName("Authors"); $fields->removeByName("AuthorNames"); } if ($this->owner->config()->get('hide_summary')) { $fields->removeByName("CustomSummary"); } if ($this->owner->config()->get('hide_image')) { $fields->removeByName("FeaturedImage"); } else { // Add description about ContentImage $fields->dataFieldByName('FeaturedImage')->setDescription(_t('BlogPost.FEATURED_IMAGE_DESCRIPTION', 'If no image is supplied then the first image found in the article content will be used if one exists.')); } }