Есть идеи, как это решить? У меня есть плагин extbase, у которого есть список и действие show. И то, и другое должно быть кешируемым, а ссылка на детали не должна содержать кеш. sh
Я не могу этого достичь. Как только я включаю кеши, я всегда получаю один и тот же результат для детального действия.
Я настроил плагин для кэширования:
// add detail plugin
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
'Vendor.Extension',
'SomePiName',
[
'ControllerName' => 'show',
],
[],
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT
);
Конфигурация маршрутизации:
routeEnhancers:
MyEnhanceName:
type: Extbase
extension: Extension
plugin: SomePiName
routes:
- { routePath: '/{localized_entry}/{slug}', _controller: 'ControllerName::show', _arguments: {'slug': 'uuid'} }
defaultController: 'ControllerName::show'
aspects:
localized_entry:
type: LocaleModifier
default: 'show'
localeMap:
- locale: 'de_DE.*|de_AT.*|de_CH.*'
value: 'detail'
- locale: 'it_IT.*'
value: 'dettaglio'
slug:
type: customType
Мой пользовательский аспект работает путем отображения внешнего uuid в сгенерированном слаге, который хранится в mysql -таблице, которую я поддерживаю.
Мне нужна глубокая ссылка типа:
/path/to/page/show/here-comes-the-slug
Но я получаю
/path/to/page/show/here-comes-the-slug?cHash=...
Итак, я добавил:
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = "tx_extension_somepiname[uuid]";
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = "tx_extension_somepiname[controller]";
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = "tx_extension_somepiname[action]";
Теперь ссылка выглядит так:
/path/to/page/show/here-comes-the-slug
Но как только я активирую кеши, я всегда получаю один и тот же результат.
Так что мне нужен расчет кеша sh, но я не хочу, чтобы fu ** er быть в ссылке ...
Ссылки создаются с помощью ContentObjectRenderer-> typolink_URL с конфигурацией:
[
"parameter" => "t3://myhandler?uuid=someuuid"
]
, что обработчик преобразуется в последующий вызов ContentObjectRenderer-> typolink_URL с конфигурацией :
[
"parameter" => "t3://page?uid=someconfiguredpageuid",
"useCacheHash" => 0,
"additionalParams" => "&tx_extension_somepiname[uuid]=uuid&tx_extension_somepiname[controller]=Controller&tx_extension_somepiname[action]=show"
]
Итак, моя ситуация такова, что я могу ЛИБО иметь cacheHa sh и правильный результат ИЛИ ни cacheHa * 10 48 * с недействительными результатами.
Как это должно быть сделано?