Какой лучший способ создать 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
  }
}

Другие вопросы по тегам