感谢 Kleins 的回答和大量社区支持,我现在设法建立了一个运行良好的解决方案。
首先,在使用扩展 realurl 重写时,请记住在测试期间删除realurl_autoconf.php
并清除typo3 和 realurl缓存。还要检查是否在typo3配置模块中应用了realurl变量
解决方案1,原始配置
只需将您的配置复制到ext_localconf.php
解决方案2,外部化配置
这更先进,对我来说效果很好。(不确定 Kleins 解决方案是否会更好)。
在中创建命名空间类Classes/RealUrlConf.php
并将其包含在ext_localconf.php
. 确保遵循typo3 所需的文件路径/命名空间配置约定。
Classes/RealUrlConf.php
:https ://pastebin.com/sg836BhJ
ext_localconf.php
:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/realurl/class.tx_realurl_autoconfgen.php']['extensionConfiguration']['coreRealUrlConf'] = 'Micke\\GenCore\\RealUrlConf->realUrlConfigurer';
如果您想像这样使用设置,您可以在Classes/RealUrlConf.php
.
解决方案 3,将核心配置与站点扩展分开
我创建了一个核心包,它是作为我们安装中各个站点包的依赖项绘制的。因此,在我的情况下,我只设置核心中的配置(尚未应用 pageIds),也就是上面提到的配置。在这种情况下,无需取消注释任何内容。
然后,对于每个单独的站点包,我设置了一个类似的配置,它只定义 pageIds 并将核心配置应用于它们。在这种情况下,pageIds 被隔离在各个站点包中,而大部分配置位于核心中。
Classes/RealUrlConf.php
:https ://pastebin.com/A2xUvrJm
ext.localconf.php
:
// Include realurl configuration with page IDs
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/realurl/class.tx_realurl_autoconfgen.php']['extensionConfiguration'][$_EXTKEY . 'realUrlVars'] = 'Micke\\RieSitepack\\RealUrlConf->realUrlConfigurer';
祝你好运!