【问题标题】:Condition for backend layout name in Typo3 10+Typo3 10+ 中后端布局名称的条件
【发布时间】:2021-11-11 09:30:46
【问题描述】:

我正在寻找一种方法,当一个元素被放置在后端布局的一部分时呈现一个部分,当同一个元素被放置在后端布局的另一部分时,另一个部分呈现。

我的后端布局名称是顶部的“标题”和底部的“普通”。我想渲染文本媒体元素,其中一个部分用于何时在 Header 上,另一个部分用于何时在 Normal 上。

对于我在网上可以找到的内容,这似乎必须使用打字稿来完成。特别是我想使用打字条件,因为它在我的脑海中更有意义。

我知道this,但答案对我一点帮助都没有。

这是我可以使用的东西。

[page["backend_layout"] == 'pagets__2']

    page.bodyTagCObject.value.wrap = <body id="uid|" class="fullpage">

[end]

欢迎任何帮助甚至教程,因为很明显我有很多关于打字的知识

【问题讨论】:

    标签: typo3 typoscript fluid


    【解决方案1】:

    解决了。

    我已经能够在不使用 Typoscript 的情况下解决这个问题。 (所以我会继续忽略打字稿:D)

    删除加载模板的变量(不是部分)让我意识到有一个属性保存后端布局的 colPos,所以我所要做的就是在 textmedia 默认模板上设置一个 if 条件。

    <f:if condition="{data.colPos} == 1">
      If the colPos of the backend layout is 1 print something
    </f:if>
    

    【讨论】:

    • 使用此解决方案,您相信列 (colPos) 的“正确”使用,但是,这可能与实际情况无关。这可以工作,但它使代码更难理解且更难维护。如果显示依赖于后端布局,那么同样应该作为条件。
    【解决方案2】:

    您可以将所需的值作为变量传递给您的FLUIDTEMPLATE-object。

    当前的后端布局以pagelayout 的形式提供(已考虑到“backend_layout_next_level”)。

    page.10 = FLUIDTEMPLATE
    page.10 {
      variables {
        pagelayout = TEXT
        pagelayout.data = pagelayout
      }
    

    }

    【讨论】:

      猜你喜欢
      • 2017-05-28
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      相关资源
      最近更新 更多