Pasos para extender o modificar un AssetRendererFactory
1.- Crear un plugin ext (en el Liferay IDE: File - new - Liferay Portlet - ext)
2.- en docroot/web-inf/ext-web/docroot/WEB-INF/liferay-portlet-ext.xml añadir el portlet que queremos extender/modificar y darle el valor deseado.
En este caso cambio el portlet User y le pongo el valor
<asset-renderer-factory>com.myfactory.MyUserAssetRendererFactory</asset-renderer-factory>Código del portlet:
1<portlet>
2 <portlet-name>11</portlet-name>
3 <icon>/html/icons/directory.png</icon>
4 <struts-path>directory</struts-path>
5 <open-search-class>com.liferay.portlet.directory.util.DirectoryOpenSearchImpl</open-search-class>
6 <portlet-url-class>com.liferay.portal.struts.StrutsActionPortletURL</portlet-url-class>
7[i][b] <asset-renderer-factory>com.myfactory.MyUserAssetRendererFactory</asset-renderer-factory>[/b][/i]
8 <workflow-handler>com.liferay.portlet.directory.workflow.UserWorkflowHandler</workflow-handler>
9 <preferences-owned-by-group>true</preferences-owned-by-group>
10 <use-default-template>false</use-default-template>
11 <private-request-attributes>false</private-request-attributes>
12 <private-session-attributes>false</private-session-attributes>
13 <render-weight>50</render-weight>
14 <header-portlet-css>/html/portlet/directory/css/main.css</header-portlet-css>
15 <css-class-wrapper>portlet-directory</css-class-wrapper>
16</portlet>
3.- Luego creamos la clase y extendemos la original con los métodos que necesitemos
1package com.liferay.portlet.directory.asset;
2
3import com.liferay.portlet.directory.asset.UserAssetRendererFactory;
4
5public class MyUserAssetRendererFactory extends UserAssetRendererFactory {
6
7 public boolean isLinkable() {
8 return true;
9 }
10
11 public boolean isSelectable() {
12 return true;
13 }
14}
4.- Desplegar, reiniciar el servidor y ¡listo!

Un saludo
Juan Fernández
Please sign in to flag this as inappropriate.