использование основных крючков TYPO3 только на одном сайте многоузловой установки

#typo3

Вопрос:

я определил крючок в ext_localconf.php:

 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['typoLink_PostProc']['titleTagsInHiddenText'] = SNMStmwiAccessibilityExtendTypolink::class . '->convertTitleInHiddenText';
 

Этот хук будет выполняться по каждой ссылке на странице, на всех страницах всех сайтов. Это может быть убийцей производительности …

Итак, есть ли возможность ограничить использование крючка фактической страницей? Можно ли получить текущий сайт в ext_localconf.php?

напр.:

 $currentSite = ????;
if ($currentsite = 'rootPidOfMySite') {
    $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']
}
 

Этот вопрос возникает и в других контекстах: я часто хочу ограничить конфигурацию расширений, потребляющую производительность, одним сайтом. Я могу сделать это с помощью статического установочного файла, но не с материалом в ext_localconf.php.

Спасибо!

Ответ №1:

Какую версию TYPO3 вы используете? Существует API для доступа к конфигурации сайта. Я бы сказал, что вам нужно зарегистрировать промежуточное программное обеспечение PSR-15, а затем вы сможете получить доступ к конфигурации сайта. Более подробную информацию можно найти в документации.

Комментарии:

1. Спасибо за ваш ответ! Я использую ОПЕЧАТКУ 3 10.4 … вы имеете в виду, что я должен зарегистрировать промежуточное ПО, получить определение сайта, а затем зарегистрировать крючок прямо в этом промежуточном ПО? Возможно, возможно — вопрос в следующем: определены ли $GLOBALS[‘TYPO3_CONF_VARS’][‘SC_OPTIONS’] уже при запуске промежуточного программного обеспечения? Что ж, я могу попробовать.

2. JEPP. Это работает — спасибо за подсказку, Питер! Я зарегистрировал промежуточное программное обеспечение в конце цепочки промежуточного программного обеспечения (нет необходимости регистрировать его более рано) и зарегистрировал в этом промежуточном программном обеспечении крюк после проверки сайта. Мило!