1

ページ内の特定のパラメーター (クエリ文字列や要求パラメーターなど) に従って、さまざまなポートレットを表示するある種のテンプレートを作成しようとしています。

次のコードがあります。

#if( $request.getParameter('sneiders') == 'snuffles' )
    <div class="col1" id="col1">$processor.processColumn("col1")</div>
#else
    <div class="col2" id="col2">$processor.processColumn("col2")</div>
#end

「col2」列のポートレットは正しく表示されますが、/my/url?sneiders=snuffles に表示されるはずの「col1」列のポートレットが正しく表示されません。どういうわけか、liferay は css クラス portlet-static を使用して空のポートレットを出力するだけです

ただし、少し変更すると:

#if( $request.getParameter('sneiders') == 'snuffles' )
    <div class="col1" id="col1">$processor.processColumn("col1")</div>
#elseif( $request.getParameter('sneiders') == 'snuffzen')
    <div class="col2" id="col2">$processor.processColumn("col2")</div>
#else
    <div class="col1" id="col1">$processor.processColumn("col1")</div>
    <div class="col2" id="col2">$processor.processColumn("col2")</div>
#end

ポートレットはどのような状況でも正しく表示されるため、すべての列を処理する「デフォルト」のケースが必要だと思います。

誰かがこの問題に遭遇しましたか? それは問題ですか、それとも間違ったことをしていますか?

どんな助けでも大歓迎です。よろしくお願いします

4

1 に答える 1