首页 > 解决方案 > 仅在多站点安装的一个站点中使用 TYPO3 核心挂钩

问题描述

我在 ext_localconf.php 中定义了一个钩子:

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

这个钩子将在页面上的每个链接上执行,在所有站点的所有页面上。这可能是性能杀手...

那么,是否有可能将钩子的使用限制在实际页面中?是否可以在 ext_localconf.php 中获取当前站点?

例如:

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

这个问题也出现在其他情况下:我经常想将性能消耗配置限制在一个站点上。我可以使用静态设置文件来完成,但不能使用 ext_localconf.php 中的内容。

谢谢!

标签: typo3

解决方案


您使用哪个 TYPO3 版本?有一个 API 可以访问站点配置。我想说您需要注册 PSR-15 中间件,然后您才能访问站点配置。更多细节可以在文档中找到。


推荐阅读