2

抽象表示から表示する特定の動的要素をどのように選択できますか? たとえば、テンプレートに次のものがあるとします

 <td>Sample Text</td>
 <td>$sample-text.data</td>

 <td>Display Text</td>
 <td>$display-text.data</td>

抽象表示に表示テキストのみを表示し、両方を表示しないようにするにはどうすればよいですか?

申し訳ありませんが、これを解決してみましょう。アセット発行者には Web コンテンツがあります (以前はジャーナルでした)。Web コンテンツには、記事を表示するさまざまな方法があります。それらには、表、タイトルリスト、要約、および完全なコンテンツがあります。アブストラクト表示を使用していて、ユーザーがタイトルよりもアブストラクトを帰属させた場合、タイトルとアブストラクトが表示されます。タイトルよりもアブストラクトが帰属されない場合は、要約が表示されます。要約は動的要素で構成されます。私の質問は、要約から選択した要素のみを抽象ビューに表示するにはどうすればよいかということです。要約は次のように取得されます

String summary = StringUtil.shorten(assetRenderer.getSummary(locale), abstractLength);

これは、abstracts.jsp にあります。

4

1 に答える 1

1

あなたの質問は紛らわしいので、いくつかのことをカバーします。

Liferay の Web コンテンツ テンプレートは、いくつかのテンプレート言語をサポートしており、私が個人的に好む Velocity Macros (VM) をサポートしています。

  1. $sample-text.data を表示したくない場合は、それを表示するコード行を削除するだけです! 具体的には、次の行を削除します。

    <td>$sample-text.data</td>
    
  2. 何らかの条件に基づいて表示を制御しようとしている場合、VM は条件をサポートしています。次のように簡単に実装できます。

    #if ($sample-text.data != null)
            <td>$sample-text.data</td>
    #end
    

Velocity に関する完全なドキュメントは、http: //velocity.apache.org/engine/releases/velocity-1.5/user-guide.htmlにあります。

于 2011-10-25T18:00:12.757 に答える