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 に答える