2012-01-08 15 views
0

私は単純なページのナビゲーションポートレットを開発しています。ページごとに「ページの管理」(トップナビゲーションバーの「管理>ページ」)へのリンクを持っています。Liferayの "Manage Page"へのリンクを生成する方法は?

リンクを生成できますか?

おかげで、 カロル

答えて

0

申し訳ありません。コメントがあるため、別の回答を追加する必要がありました。エッセイキャラクター。各URLに対して、pageSettingsURLを下に作成する必要があります。あなたはLayoutLocalServiceUtilクラスを使用することに興味を持っているとPLID

のPortletURL pageSettingsURL =新しいPortletURLImpl( 要求、PortletKeys.LAYOUT_MANAGEMENT、PLID、 PortletRequest.RENDER_PHASE)を通過し、コミュニティのすべてのレイアウトのためのループで次のロジックを書きます。

  pageSettingsURL.setWindowState(WindowState.MAXIMIZED); 
      pageSettingsURL.setPortletMode(PortletMode.VIEW); 

      pageSettingsURL.setParameter(
       "struts_action", "/layout_management/edit_pages"); 

      if (layout.isPrivateLayout()) { 
       pageSettingsURL.setParameter("tabs1", "private-pages"); 
      } 
      else { 
       pageSettingsURL.setParameter("tabs1", "public-pages"); 
      } 

      pageSettingsURL.setParameter("redirect", currentURL); 
      pageSettingsURL.setParameter(
       "groupId", String.valueOf(scopeGroupId)); 
      pageSettingsURL.setParameter("selPlid", String.valueOf(plid)); 
+0

この素晴らしいコードをお寄せいただきありがとうございます! – Karol

0

themeDisplay.getURLPageSettingsを試してみてください()。toString()を

あなたはあなたのようにthemeDisplayを取得する必要があります

を使用している場合は、JSPページにthemeDisplayを取得する必要がありますポートレット・クラスのリクエスト属性

+0

それは動作しますが、それは現在表示されている唯一のサイトのURL(レイアウト)「ページの管理」を返します。私が必要とするのは、私がアクセスできる任意のサイト(レイアウト)の "URLPageSettings"を生成することです。 – Karol

関連する問題