[IMPR] SEO and UX Friendly page title and nav label

This commit is contained in:
Tony Air 2023-06-20 18:50:49 +02:00
parent 3f92081041
commit 86c75af831
1 changed files with 21 additions and 0 deletions

View File

@ -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'));
}
}