How to capture event of deleting a portlet instance from a page in Liferay?

When an instance of my portlet is removed from the page, I want to capture this event in order to get some preference values ​​from this portlet and do something.

Is there something like interfaces or interceptors for Liferay?

+4
source share
1 answer

You can define your own PortletLayoutListener in liferay-portlet.xml :

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

And your MyLayoutTypePortletListener might look like:

 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 { } } 

See the journal content portlet for an example and Liferay forum post .

+9
source

All Articles