diff --git a/src/Extensions/SiteTreeExtension.php b/src/Extensions/SiteTreeExtension.php index 53510fe..20bb6cc 100755 --- a/src/Extensions/SiteTreeExtension.php +++ b/src/Extensions/SiteTreeExtension.php @@ -27,4 +27,25 @@ class SiteTreeExtension extends DataExtension ), ]); } + + public function updateCMSFields(FieldList $fields) + { + $f = $fields->dataFieldByName('MenuTitle'); + // Elements has own Title field to be used at content (h1 can be hidden), + // while Menu Title (h1 page title) and Navigation label should be equal for SEO + if ($f) { + // name page name as navigation label to be more clear for CMS admin + $fields->dataFieldByName('Title')->setTitle($f->Title()); + $fields->removeByName('MenuTitle'); + } + } + + public function onBeforeWrite() + { + parent::onBeforeWrite(); + + // h1 page title and navigation label should be equal for SEO + $obj = $this->owner; + $obj->setField('MenuTitle', $obj->getField('Title')); + } }