1

我正在通过为结构添加新字段来更改我的 liferay 速度模板。例如'heading1',然后将这个新字段添加到模板中:

<h1>Heading is: $heading1.data</h1>

但如果结构字段尚未填充,则结果为:

标题是:$heading1.data

所以我想我可以通过以下方式解决这个问题:

#if($heading1.data!="")<h1>Heading is: $heading1.data</h1>#end

但结果还是:

标题是:$heading1.data

如果我打开 Web 内容并发布它,那么结果是正确的,它不会显示任何内容,但我不想找到所有类似的 Web 内容并开始手动发布它们。

那么有没有办法检查标题是否没有填充?

谢谢。

4

1 回答 1

5

您可以使用静默引用来告诉 Velocity 不要显示空引用:

<h1>Heading is: $!heading1.data</h1>

也可以直接测试其内容是否存在:

#if($headings1.data) <h1>Heading is: $heading1.data</h1> #end

在 Velocity 1.7 之前,如果引用为 null 或未初始化,此测试将为 false,但如果引用包含空字符串,则仍然为 true。在下一个版本中,空字符串也将评估为 false。

于 2012-05-19T06:26:23.387 回答