Typopscript 如果为空则隐藏字幕

Typopscript hide subtitle if empty

我只是不明白 if 结构的拼写错误是如何工作的。

我想做的是仅在存在时显示页面的副标题。我以这种方式尝试使用 fluitetemplate 的 if 子句,但它不起作用(如果没有字幕,也总是打印 <p class="subTitle"> 标签):

<f:if condition="page : subtitle !=''">
    <p class="subTitle">{f:cObject(typoscriptObjectPath:'lib.pageSubTitle')->f:format.raw()}</p>
</f:if>

所以我想尝试使用 typoscritp,但我无法弄明白。

这是目前的情况:

lib.pageSubTitle = TEXT
lib.pageSubTitle.data = page: subtitle
lib.pageSubTitle.wrap = <p class = "subTitle"> | </p>

我想,在没有 subtile 的情况下,让 lib.pageSubTitle 被“清空”,以免空 <p> object 增加标题和页面的 body。否则我只想在不为空的情况下包装字幕。

我希望我已经很好地解释了我的问题。

提前致谢

你的流体有点太复杂了,你可以直接使用

<f:if condition="{page.subtitle}">
    <p class="subTitle">{page.subtitle}</p>
</f:if>

如果您想使用 TypoScript,可以使用选项 stdWrap.required = 1 让您的 TypoScript 正常工作

lib.pageSubTitle = TEXT
lib.pageSubTitle {
    data = page: subtitle
    stdWrap.required = 1
    stdWrap.wrap = <p class = "subTitle"> | </p>
}