Если страница содержит два плагина Extbase и один плагин вызывает кэшируемое действие, а другое - не кэшируемое действие, то вызовы метода PageRenderer для добавления файлов CSS и JavaScript не работают. Сообщение об ошибке отсутствует, но файлы не добавляются в разметку HTML.
Я попытался поместить вызовы метода PageRenderer в методы контроллера initializeAction
, initializeView
и listAction
. Это не имеет значения.
Если действия обоих плагинов являются кэшируемыми или не кэшируемыми, вызовы методов PageRenderer работают как положено.
Если я сделаю кэшируемое действие не кэшируемым, и наоборот, вызовы метода PageRenderer также не будут работать. Не важно, какое действие является кэшируемым или не кэшируемым.
Я попытался использовать современный способ с разделами HeaderAssets и FooterAssets в шаблоне Fluid. Та же проблема здесь: разделы тезисов не отображаются, если вызываются как кэшируемые, так и не кэшируемые действия.
/* @var $pageRenderer \TYPO3\CMS\Core\Page\PageRenderer */
$pageRenderer = $this->objectManager->get(\TYPO3\CMS\Core\Page\PageRenderer::class);
$pageRenderer->addCssFile('my.css');
$pageRenderer->addJsFooterFile('my.js');
Я знаю, что есть проблемы с кэшированием и PageRenderer (объекты USER и USER_INT). Но я не понимаю, почему вызовы метода PageRenderer терпят неудачу как с кэшируемыми, так и без кэшируемых действий, если они работают только с кэшируемыми или не кэшируемыми действиями. Это предполагаемое поведение? Как я могу заставить вызовы методов PageRenderer работать?