1

私は開発中MVC Portletで、Controller を介してメニュー リンクからポートレットの特定のページを開きたいと考えています。速度テンプレートには、ポートレットのポートレット名があります。

そのポートレットの plid を取得するにはどうすればよいですか?

私のコードは以下の通りです:

#if ($nav_item.getName().equalsIgnoreCase("specific menu link"))

#set ($myURL = $portletURLFactory.create($request,"portletname_WAR_portletnameportlet",$getterUtil.getLong($plid),"RENDER_PHASE"))
$myURL .setParameter("view","methodName") //Controller paramter
<a href="$myURL" > $nav_item.getName()</a>
#end

私のパラメータを現在のURLに追加し、現在のページにとどまります。

ポートレットを別のページに追加し、ハード コーディングされた plid を使用してみました。正常に動作しますが、サーバーが異なると問題が発生します。

では、URL の作成中に使用する vm ファイルで実行時にポートレット plid を取得するにはどうすればよいですか?

4

1 に答える 1

0

構成の他の場所をいくつか維持しています..私はあなたにヒントを与えることができます.ポートレット設定にPlId値を保存します..速度では、ポートレットIDでポートレット設定を取得します..次に、plidを取得します.

場合によっては、ポートレットが多くのページに配置されることがあるため、複数の pld を取得することがあります。

ページ名フェッチ plid に基づいて、すべてのポータルで同じページ名を使用します。

于 2014-05-08T10:48:37.527 に答える