首页 > 解决方案 > 如果为空,Typopscript 隐藏字幕

问题描述

如果构造工作,我只是无法理解打字稿。

我想做的是仅在存在时才显示页面的副标题。我以这种方式尝试了流体模板的 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>对象增加页面标题和正文之间的边距。否则我只想在不为空的情况下包装字幕。

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

提前致谢

标签: typoscripttypo3-10.x

解决方案


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

<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>
}

推荐阅读