【问题标题】:Handle multi domain setup with distribution extensions in TYPO3 9.5 LTS在 TYPO3 9.5 LTS 中使用分发扩展处理多域设置
【发布时间】:2020-12-15 02:29:27
【问题描述】:

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

域模板包含:

  • fluid_styled_content
  • ...
  • 网格元素
  • 模板

domainB 模板包含:

  • fluid_styled_content
  • ...
  • 网格元素
  • 模板b

现在的问题是,在 domainB 中我只能看到 domainA 的 BE 布局。

我怎样才能把它分开?我怎样才能将它限制在它的页面上?

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

<?php
if (!defined('TYPO3_MODE')) {
    die ('Access denied.');
}

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
    '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:templatea/Configuration/TSConfig/Page.txt">'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::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

但这个限制也只适用于 domainA。

【问题讨论】:

    标签: typoscript extbase typo3-9.x


    【解决方案1】:

    好的,解决方法很简单,只要你知道。 您不要使用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-and-setting-tsconfig

    【讨论】:

      猜你喜欢
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多