1

我正在多站点 TYPO3 v.8.7.1 安装中构建多个站点,并为每个站点(站点包)创建了一个扩展,其中包括来自 tx-news 扩展的打字稿。

要重写新闻扩展 url,我已将设置添加到 realurl.conf,类似于文档中的高级示例:https ://docs.typo3.org/typo3cms/extensions/news/3.0.0/Main/Administration/Realurl /索引.html

现在,如果可能的话,我想迁移和排序多站点 realurl.conf 设置,以隔离各个站点包中的每个站点的配置。我可以为此使用 ext_localconf.php 吗?

而且我很好奇是否可以将 fixedPostVars pageIds 设置为设置中的 TypoScript 数组变量或常量等,以使这些设置更可用于编辑。

感谢您的时间!

4

2 回答 2

0

感谢 Kleins 的回答和大量社区支持,我现在设法建立了一个运行良好的解决方案。

首先,在使用扩展 realurl 重写时,请记住在测试期间删除realurl_autoconf.php并清除typo3 和 realurl缓存还要检查是否在typo3配置模块中应用了realurl变量


解决方案1原始配置

只需将您的配置复制到ext_localconf.php


解决方案2外部化配置

这更先进,对我来说效果很好。(不确定 Kleins 解决方案是否会更好)。

在中创建命名空间类Classes/RealUrlConf.php并将其包含在ext_localconf.php. 确保遵循typo3 所需的文件路径/命名空间配置约定。

Classes/RealUrlConf.phphttps ://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.phphttps ://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';

祝你好运!

于 2017-06-02T19:45:25.553 回答