Доступ к метатегам, добавленным через page.meta
TypoScript невозможен во время рендеринга контента.
Причина проста: контент визуализируется до обработки метатегов (см. Метод generatePageContentWithHeader
in TYPO3\CMS\Frontend\Http\RequestHandler
Простой обходной путь - обработать все связанные метатеги только с помощью вашего Extension / View Helper.
Более сложный подход - это какой-то реестр (например, статическое свойство), которое собирает все изменения, которые вы хотите внести в существующие метатеги. Реестр заполняется вашим помощником вида.
Затем вы можете вызвать userFunc, который выполняется после Метатеги TypoScript собираются:
page.jsFooterInline.323 = USER
page.jsFooterInline.323.userFunc = My\Extension\Hooks\MetaHook->processMeta
В processMeta
теперь вы можете получить доступ к метаданным страницы (например, page.meta.description
, например:
$registry = GeneralUtility::makeInstance(MetaTagManagerRegistry::class);
$metaDataArray = $registry->getManagerForProperty('description')->getProperty('description');