当值设置为None时,Typo3隐藏fluidcontent_core标头

时间:2015-07-01 15:46:16

标签: html if-statement typo3 typoscript view-helpers

我试图覆盖Typo3 fluidcontent_core partial" Content / Header",以避免在标题项设置为"无"时避免创建标记。使用this post中的信息,我能够添加"无"作为下拉列表的一个选项。但是,我仍然有以下两个问题:

  1. 当我尝试覆盖partialRootTemplate以指向我的扩展时,我对Content / Header部分(位于我自己的扩展名中)所做的任何更改都没有任何效果。我的代码:plugin.tx_fluidcontentcore.view.partialRootPaths.0 = EXT:manageengine_fluid/Resources/Private/FluidContent/Partials/。路径存在,我从fluidcontent_core复制并粘贴了Partials文件夹的内容。
  2. 通过直接编辑fluidcontent_core部分文件来编辑标题元素。但是,当header.type设置为None时,我还没有能够显示任何内容。我的尝试(实际上是一行,因为我不确定如何将v:标签放入v:if):

    {v:if(then: <v:tag name="h{content.settings.header.type -> v:or(alternative: record.header_layout) -> v:or(alternative: settings.header.type)}"
    class="{content.settings.header.className}" hideIfEmpty="{content.settings.header.hideIfEmpty -> v:or(alternative: 1)}">{record.header -> f:format.raw()}</v:tag>,
    else: , stack: {content.settings.header.type != 'None'}}
    

    目前,将标题级别设置为无,会生成<hnone>标记。

  3. 非常感谢任何建议。如果有更好的方法可以解决这个问题,我完全可以接受建议!

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题的一半。为了不显示标题,我做了以下调整:

plugin.tx_fluidcontentcore {
    settings {
        header {
            types = h1,h2,h3,h4,h5,h6,
        }
    }
}

这样,当选择第7个(空)标题级别时,对内容/标题部分的以下编辑会隐藏标记。

{namespace v=FluidTYPO3\Vhs\ViewHelpers}

<v:tag name="{content.settings.header.type -> v:or(alternative: record.header_layout) -> v:or(alternative: settings.header.type)}"
     class="{content.settings.header.className}" hideIfEmpty="{content.settings.header.hideIfEmpty -> v:or(alternative: 1)}">
    <f:if condition="{content.settings.header.type}">
        {record.header -> f:format.raw()}
    </f:if>
</v:tag>

上面的重要更改是删除名称中的“h”(因此名称可以为空,不会生成HTML标记),以及f:if周围的record.header语句,所以没有标签出现时不会打印文本。

我仍然无法从其他扩展程序覆盖部分内容/标头。如果我管理它,我会更新这个答案。