【问题标题】:TYPO3: Site Configuration Data inside TSconfig ConditionTYPO3:TSconfig 条件中的站点配置数据
【发布时间】:2020-11-12 14:00:32
【问题描述】:

通过 PageTSconfig 中的TCEFORM.tt_content.CType.removeItems := addToList([…], div) 为所有页面禁用分隔符内容元素。这很好用。

现在我希望分隔符仅适用于特定的页面子集。 我在我的站点配置中定义了最上面的页面,这导致了以下 Typoscript:

[site("configuration")["settings"]["pages"]["simpleLanguage"] and site("configuration")["settings"]["pages"]["simpleLanguage"] in tree.rootLineIds]
    TCEFORM.tt_content.CType.removeItems := removeFromList(div)
[END]

现在,当我想在给定页面上插入分隔符时,我可以从 NewContentElement 向导中选择它,但是当呈现内容元素的形式时,CType 选择中缺少分隔符。

分隔线显示在 NewContentElement 向导中

但不是内容元素形式。

我发现直接设置pageuid时,条件评估得很好。 所以我的结论是我无法在 TSconfig 中获取站点信息。

那么如何从 TSconfig 中的站点配置中获取信息?

【问题讨论】:

    标签: typo3 typoscript tsconfig


    【解决方案1】:

    PageTS 中的条件已针对 TYPO3 v10 修复,https://forge.typo3.org/issues/89718

    由于其复杂性,该补丁尚未向后移植到 v9。

    【讨论】:

      【解决方案2】:

      新内容元素向导使用另一种配置:

      https://docs.typo3.org/m/typo3/reference-tsconfig/master/en-us/PageTsconfig/Mod.html#newcontentelement-wizarditems

      # PageTS
      # CType "div" is in group "special"
      mod.wizards.newContentElement.wizardItems.special.show := removeFromList(div)
      

      【讨论】:

      • 在新的内容元素向导中,分隔符显示在“特殊”选项卡上。但是当我单击它以将其添加到页面时,显示的表单内容元素表单不包含 CType 选择字段中的分隔符。我将添加一张图片来显示缺少分隔线的位置。
      • 也许我误解了你。您想为某些页面启用它,而不是禁用它。然后你会使用addToList()
      • 也许我也没有说清楚。如果我删除它周围的条件,分隔线会正确显示和隐藏。条件本身似乎有问题。为什么,你可能会问?如果我将页面 uid 直接放入条件中,而不是尝试从站点配置中读取 uid (site("configuration")["settings"]["pages"]["simpleLanguage"]),它可以正常工作。我还在前端 TypoScript 中使用此条件,它也可以毫无问题地工作。所以我的猜测是,不知何故,我无法像在前端那样从后端读取站点配置。
      • 对不起,我误解了这个问题。对于条件,我没有询问您使用的是哪个版本。对于 TYPO3 v10 forge.typo3.org/issues/89718 有固定的条件。我不知道 TYPO3 v9 的状态
      • 没有难过的感觉 ;) 似乎是所描述的错误。我在 v10 中测试了我的状况,并得到了正确评估。如果您可以发表评论作为答案,我将很乐意接受。
      猜你喜欢
      • 2019-08-14
      • 1970-01-01
      • 2022-10-14
      • 2019-04-02
      • 2022-10-20
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多