Какой лучший способ создать NavigationTitle в Neos?
Каков наилучший способ иметь поле "Навигационное название" в Neos?
Я хотел бы получить поле для "перезаписи" PageTitle более короткой версией, используемой в навигационном меню.
Я ищу ту же функцию, которую предлагает Typo3 с их полем "заголовок навигации".
Пример: я хочу длинный заголовок в <title>
и т.д., но я предпочитаю короткий заголовок в меню навигации.
Page Title: "Pretty long and nice Page-Title about the Page Communication"
Navigation Title: "Communication"
1 ответ
Я бы добавил его в качестве свойства для вашего типа страницы (или Neos.Neos:Document
). MenuImplementation
по умолчанию Fusion Menu
Объект использует "метку" типа страницы, так что вы можете просто установить его так, чтобы он использовал ваше собственное свойство navigationTitle. Так что у вас будет это:
'Neos.Neos:Document':
label: "${String.cropAtWord(String.trim(String.stripTags(String.pregReplace(q(node).property('navigationTitle') || q(node).property('title') ... [all the rest of the default label]"
Метку по умолчанию можно увидеть в NodeTypes.yaml
файл под ./Packages/Application/Neos.Neos/Configuration
, так что вы можете скопировать его оттуда и добавить название навигации.
[править: разрыв строки после "label:" добавляется Stackru - на самом деле его не должно быть в вашем YAML.]
Существует пакет Neos.Seo, который добавляет эту функциональность и дополнительные функции SEO, такие как метатеги, карта сайта, социальные теги, структурированные данные. Дополнительное поле, добавленное к свойствам документа, называетсяtitleOverride
.
Если вы используете этот пакет, вы можете просто использовать включенный прототип fusion для обработки тега title:
prototype(Neos.Neos:Page) {
head {
titleTag >
titleTag = Neos.Seo:TitleTag
}
}