繁体   English   中英

将TYPO3 realurl.conf fixedPostVars迁移到站点扩展

[英]Migrate TYPO3 realurl.conf fixedPostVars to site extension

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

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

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

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

感谢您的时间!

感谢Kleins的回答以及很多社区支持,我现在已经设法建立了一个非常好的解决方案。

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


解决方案1原始配置

只需将配置复制到ext_localconf.php


解决方案2外部化配置

这是更先进的,对我来说很有用。 (不确定Kleins解决方案是否可能更好)。

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

Classes/RealUrlConf.phphttpsClasses/RealUrlConf.php

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.phphttpsClasses/RealUrlConf.php

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';

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM