【问题标题】:Set a different template partial for root page为根页面设置不同的模板部分
【发布时间】:2016-06-15 11:21:28
【问题描述】:

我有两个流动模板部分,一个用于主页(根)页面,一个用于所有内部页面。两个模板使用相同的后端布局。

如何设置在哪里使用什么模板?

我能找到的唯一信息将模板与使用的 BE 布局联系起来,但是当他们使用相同的布局时,这显然行不通。

【问题讨论】:

    标签: typo3 fluid


    【解决方案1】:

    您可以在 BE 中使用 BE 布局正上方的 FE 布局设置。

    它可以像这样在<f:if> 中使用:

    <f:if condition="{data.layout} == 1">
      <f:then>
        #partial1
      </f:then>
      <f:else>
        #partial2
      </f:else>
    </f:if>
    

    BE Layout 用于列,显示内容区域以放置您的内容。

    FE 布局是相同列和内容的不同布局。

    只是一个使用它们的例子:

    使用 BE 布局,您可以决定是在 BE 中需要 Header、Main 和 Footer 部分,还是只需要带有 Main 块的 Header。

    使用 FE Layout,您可以决定背景颜色是 blue 还是 orange

    【讨论】:

    • 我以为它可以工作,但现在不行了。我给我的家庭部分起了一个名字
      然后在你的 if 语句中添加了 。但是现在主页没有加载。我做错了什么?
    • 它不是 而是 请参阅此处的文档:docs.typo3.org/typo3cms/ExtbaseGuide/Fluid/ViewHelper/…
    • 我使用 使其工作。主页显示了,但现在内容元素没有呈现在上面......?
    【解决方案2】:

    你可以在这里有几种方法:

    1:您可以创建第二个 BE 布局(作为第一个的副本)并将其称为 home。您现在可以使用这个“主页”模板来指向一个新的主页模板。

    2:设置排版设置或变量并将其发送到您的模板。使用常量,您可以设置此变量,并且在您的流体模板中,您现在可以使用 if 语句来切换您的模板(或部分模板)。

    【讨论】:

    • 抱歉,我认为这是错误的做法。请看下面我的回答。他不想改变内容的结构,而是改变它的呈现方式。
    • 是的,正在考虑添加前端布局方法作为第三个选项。如果您使用相同的 colNums,Aldo 新的 BE 布局不会改变内容的结构。无论如何,在我看来,这是一个口味和偏好的问题,而你的是一个很好的。
    猜你喜欢
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    相关资源
    最近更新 更多