Краткий ответ: Нет, вам нужно либо добавить поле слагов, либо добавить собственный класс аспектов
Длинный ответ:
- Нет автоматического преобразования c в нижний регистр и пробелы для тире для параметров. Поэтому либо добавьте в свою таблицу поле слагов и заполните его при изменении заголовка страницы, либо напишите собственный класс аспектов.
- PersistedAliasMapper не может добавлять пользовательские предложения where.
- Enhancer только сопоставляет аргументы extbase с речевыми URL, например, "/ some / page? plugin [controller] = MyController & plugin [action] = myAction & plugin [foo] = Some Value" => "/ some / page / Some Value" с установленными MyController и myAction по умолчанию в конфигурации сайта.
Таким образом, у вас есть две возможности: а) Добавить поле слагов в таблицу и заполнить его «оптимизированным» значением engli sh при изменении заголовка и используйте аспект PersistedAliasMapper b) Добавьте пользовательский класс аспектов, который отображает сегмент "/ Some Value" в ваш оптимизированный вариант в engli sh "/ some-value" AND BACK !. (В 9.5 вы не знаете целевой язык ссылки [например, для переключателя языка], поэтому значения всегда должны быть engli sh, что соответствует вашему требованию: -))
Добавление класса аспекта это так же просто, как добавить одну строку в ваш ext_localconf. php:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['routing']['aspects']['ASPECTNAME'] = MyAspect::class;
и написать небольшой класс, реализующий StaticMappableAspectInterface с помощью метода generate и execute.
Так что, если вы знаете, Как преобразовать «оптимизированную» версию обратно в оригинал, используя аспект, может быть проще. Если вы не можете отменить оптимизацию, слаг-поле в БД может быть проще. Но здесь нет автомата «оптимизировать и сохранить исходное значение», как в realurl