10

ポートレット名を使用してリソース権限を取得する必要があります。

Id ではなく、ポートレットの名前を持ちます。

ポートレットのリソース許可名は、そのポートレットの ID です。ポートレット テーブルを確認しましたが、ID とその他の情報しかありません。ポートレットのその他の属性はどこに保存されますか?

ポートレットの名前を使用してポートレットの ID を取得する方法はありますか。すべてのポートレットを取得して比較するという回避策がありますが、ポートレットの名前を使用してポートレットの ID を直接取得できれば便利です。

緊急です。誰かが pls が返信することを知っていれば、それは大きな助けになるでしょう。

前もって感謝します

4

2 に答える 2

13

ポートレット名に基づいてポートレット ID がどのように生成されるかを詳しく調べれば、答えが得られます。

これは従う一定のパターンであるため、名前があれば、liferay が行うようにポートレット ID を作成できます。Liferay は、ポートレット名を利用して ID も構築します。

portlet-id のパターン:<portletname in xml>_WAR_<servlet context name i.e. the war file without any special characters such as the hyphen>

例: ポートレット名が でMyWork定義されportlet.xmlていて、フォルダー内の生成されたファイルwebapps(Tomcat を使用している場合) が であるMyWork-portlet場合、結果の ID は になりますMyWork_WAR_MyWorkportlet

liferay のソース コードがある場合は、PortletLocalServiceImplprivate _readPortletXMLメソッドを見ることができます。

編集:
特定のページでポートレットを見つけたい場合(ページの が与えられたfriendly-url場合)、この回答が役立つ場合があります。

于 2012-06-23T08:47:52.243 に答える