Через почти неделю я нашел решение!
a) В записях моего расширения теперь есть новое поле TCA slug, которое генерирует уникальные сегменты URL.
'slug' => [
'exclude' => true,
'label' => 'URL Segment',
'config' => [
'type' => 'slug',
'prependSlash' => true,
'generatorOptions' => [
'fields' => ['title'],
'prefixParentPageSlug' => true,
],
'fallbackCharacter' => '-',
'eval' => 'uniqueInSite',
],
],
b) Моя конфигурация YAML:
routeEnhancers:
CardealerPlugin:
type: Extbase
limitToPages: [86]
extension: Cardealer
plugin: Pi1
routes:
-
routePath: '/{uid_var}'
_controller: 'Standard::show'
_arguments:
uid_var: car
defaultController: 'Standard::list'
aspects:
uid_var:
type: PersistedAliasMapper
tableName: 'tx_cardealer_domain_model_car'
routeFieldName: 'slug'
c) Жидкостная связь
<f:link.action action="show" controller="Standard" pageUid="{settings.pid.details}" arguments="{car: '{car.uid}'}">