5

ポートレットのインスタンスがページから削除されるときに、そのイベントをキャプチャして、そのポートレットからいくつかの設定値を取得し、何かを実行したいと思います。

Liferayでそれを行うためのインターフェースやフックのようなものはありますか?

4

1 に答える 1

10

あなたはliferay-portlet.xmlPortletLayoutListenerであなた自身を定義することができます:

<portlet>
        <portlet-name>xxyyzz</portlet-name>
...
        <portlet-layout-listener-class>com.myCompany.MyLayoutTypePortletListener</portlet-layout-listener-class>
...
</portlet>

また、MyLayoutTypePortletListenerは次のようになります。

public class MyLayoutTypePortletListener
    implements PortletLayoutListener {

    public void onRemoveFromLayout(String portletId, long plid)
        throws PortletLayoutListenerException {
        // ***** ... your LOGIC HERE *****
    }

    public void onMoveInLayout(String portletId, long plid)
        throws PortletLayoutListenerException {

    }

    public void onAddToLayout(String portletId, long plid)
        throws PortletLayoutListenerException {
    }

}

例とそのLiferayのフォーラム投稿については、ジャーナルコンテンツポートレットを参照してください。

于 2012-12-04T16:10:43.343 に答える