/** * Adds our SEO Meta fields to the page field list * * @since version 1.0.0 * * @param string $fields The current FieldList object * * @return object Return the FieldList object **/ public function updateCMSFields(FieldList $fields) { $fields->removeByName('HeadTags'); $fields->removeByName('SitemapImages'); if (!$this->owner instanceof Page) { $fields->addFieldToTab('Root.Page', HeaderField::create('Page')); $fields->addFieldToTab('Root.Page', TextField::create('Title', 'Page name')); } $fields->addFieldToTab('Root.PageSEO', $this->preview()); $fields->addFieldToTab('Root.PageSEO', TextField::create('MetaTitle')); $fields->addFieldToTab('Root.PageSEO', TextareaField::create('MetaDescription')); $fields->addFieldToTab('Root.PageSEO', HeaderField::create(false, 'Indexing', 2)); $fields->addFieldToTab('Root.PageSEO', TextField::create('Canonical')); $fields->addFieldToTab('Root.PageSEO', DropdownField::create('Robots', 'Robots', SEO_FieldValues::IndexRules())); $fields->addFieldToTab('Root.PageSEO', NumericField::create('Priority')); $fields->addFieldToTab('Root.PageSEO', DropdownField::create('ChangeFrequency', 'Change Frequency', SEO_FieldValues::SitemapChangeFrequency())); $fields->addFieldToTab('Root.PageSEO', CheckboxField::create('SitemapHide', 'Hide in sitemap? (XML and HTML)')); $fields->addFieldToTab('Root.PageSEO', HeaderField::create('Social Meta')); $fields->addFieldToTab('Root.PageSEO', CheckboxField::create('HideSocial', 'Hide Social Meta?')); $fields->addFieldToTab('Root.PageSEO', DropdownField::create('OGtype', 'Open Graph Type', SEO_FieldValues::OGtype())); $fields->addFieldToTab('Root.PageSEO', DropdownField::create('OGlocale', 'Open Graph Locale', SEO_FieldValues::OGlocale())); $fields->addFieldToTab('Root.PageSEO', DropdownField::create('TwitterCard', 'Twitter Card', SEO_FieldValues::TwitterCardTypes())); $fields->addFieldToTab('Root.PageSEO', $this->SharingImage()); $fields->addFieldToTab('Root.PageSEO', HeaderField::create('Other Meta Tags')); $fields->addFieldToTab('Root.PageSEO', $this->OtherHeadTags()); $fields->addFieldToTab('Root.PageSEO', HeaderField::create('Sitemap Images')); $fields->addFieldToTab('Root.PageSEO', $this->SitemapImagesGrid()); $fields->addFieldToTab('Root.PageSEO', LiteralField::create(false, '<br><br>Silverstripe SEO v1.0')); return $fields; }