在TYPO3 9.5 LTS中使用分发扩展处理多域设置



我在TYPO3 9.5.20 LTS中进行了多域设置,根据最佳实践经验,我应该使用分发扩展为每个根提供Typoscript和模板。所以我就这么做了。

domain模板包含:

  • fluid_styled_content
  • 格栅
  • 模板

domainB模板包含:

  • fluid_styled_content
  • 格栅
  • templateb

现在的问题是,在域B中,我只看到域A的BE布局。

我该怎么分开呢?如何将其限制在页面上?

我用mod.web_layout.BackendLayouts在Configuration/TSConfig/Page.txt中定义布局。在每个扩展中,我将Page.txt加载到ext_localconf.php中,类似于:

<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
TYPO3CMSCoreUtilityExtensionManagementUtility::addPageTSConfig(
'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:templatea/Configuration/TSConfig/Page.txt">'
);
TYPO3CMSCoreUtilityExtensionManagementUtility::addUserTSConfig(
'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:templatea/Configuration/TSConfig/User.txt">'
);

当然,我在domainB中做templateb;(


旁注:对于tx_gridelements,我有一个解决方案,可以将其添加到Page.txt:

# Limit the gridelements storage to a single page id
TCEFORM.tt_content.tx_gridelements_backend_layout.PAGE_TSCONFIG_ID = 1

但这种限制也只适用于域A。

好吧,一旦你知道了,解决方案就非常简单。您不会将其与addPageTSConfig一起添加,也不会将其添加到ext_localconf.php中。只需创建一个/Configuration/TCA/Overrides/pages.php并添加:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile("myextkey",'配置/TSConfig/Page.txt','模板域A PageTSConfig');

删除缓存后,转到您的页面设置";资源";并通过";包括页面TSconfig(来自扩展(";,拯救,瞧。

文件参考:https://docs.typo3.org/m/typo3/reference-tsconfig/master/en-us/UsingSetting/Index.html#using-和设置tsconfig

最新更新