https://dosideas.com/wiki/index.php?title=Especial:P%C3%A1ginasNuevas&feed=atom&hidebots=1&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=Dos Ideas. - Páginas nuevas [es]2024-03-28T13:39:31ZDe Dos Ideas.MediaWiki 1.28.2https://dosideas.com/wiki/Crear_un_portlet_en_LiferayCrear un portlet en Liferay2013-09-30T14:48:35Z<p>Eestevez: </p>
<hr />
<div>==¿Qué es un portlet? ==<br />
<br />
Los portlets son componentes de las interfaces de usuario gestionadas y visualizadas en un portal web como Liferay.<br />
<br />
[[Archivo:portletEnLiferay.png]]<br />
<br />
==Como crear un portlet para liferay==<br />
<br />
A partir del arquetipo de maven (liferay-portlet-archetype) se crea un proyecto web java.<br />
El proyecto se crea con la siguiente estructura de directorios.<br />
<br />
[[Archivo:crearPortlet.png]]<br />
<br />
==Estructura del portlet==<br />
<br />
[[Archivo:estructuraPortlet.png]]<br />
<br />
<br />
Dentro de la carpeta WEB-INF se encuentran los archivos de configuración.<br />
<br />
'''liferay-display.xml''': describe la categoría en la cual se visualiza en el menú.<br />
<br />
<display><br />
<category name="category.sample"><br />
<portlet id="demo" /><br />
</category><br />
</display><br />
<br />
'''liferay-portlet.xml''': podemos declarar el nombre del portlet, los css, js.<br />
<br />
<liferay-portlet-app><br />
<portlet><br />
<portlet-name>demo</portlet-name><br />
<icon>/icon.png</icon><br />
<header-portlet-css>/css/main.css</header-portlet-css><br />
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript><br />
</portlet><br />
<role-mapper><br />
<role-name>administrator</role-name><br />
<role-link>Administrator</role-link><br />
</role-mapper><br />
<role-mapper><br />
<role-name>guest</role-name><br />
<role-link>Guest</role-link><br />
</role-mapper><br />
<role-mapper><br />
<role-name>power-user</role-name><br />
<role-link>Power User</role-link><br />
</role-mapper><br />
<role-mapper><br />
<role-name>user</role-name><br />
<role-link>User</role-link><br />
</role-mapper><br />
</liferay-portlet-app><br />
<br />
<br />
'''liferay-plugin-package.properties''': podemos indicar entre otras cosas las versiones que soporte el portlet como dependencias que necesite.<br />
<br />
name=demo<br />
module-group-id=liferay<br />
module-incremental-version=1<br />
tags=demo,<br />
short-description=<br />
change-log=<br />
page-url=http://www.liferay.com<br />
author=Liferay, Inc.<br />
licenses=LGPL<br />
liferay-versions=6.1.1, 6.1.2+, 6.1.20+<br />
<br />
required-deployment-contexts=\<br />
portal-compat-hook<br />
<br />
'''portlet.xml''': define el nombre con el cual el portlet se identifica (éste es único), el nombre con el cual se visualiza, la declaración de los roles de seguridad.<br />
<br />
<portlet><br />
<portlet-name>demo</portlet-name><br />
<display-name>demo</display-name><br />
<portlet-class>com.liferay.util.bridges.mvc.MVCPortlet</portlet-class><br />
<init-param><br />
<name>view-jsp</name><br />
<value>/view.jsp</value><br />
</init-param><br />
<expiration-cache>0</expiration-cache><br />
<supports><br />
<mime-type>text/html</mime-type><br />
</supports><br />
<portlet-info><br />
<title>demo</title><br />
<short-title>demo</short-title><br />
<keywords>demo</keywords><br />
</portlet-info><br />
<security-role-ref><br />
<role-name>administrator</role-name><br />
</security-role-ref><br />
<security-role-ref><br />
<role-name>guest</role-name><br />
</security-role-ref><br />
<security-role-ref><br />
<role-name>power-user</role-name><br />
</security-role-ref><br />
<security-role-ref><br />
<role-name>user</role-name><br />
</security-role-ref><br />
</portlet><br />
<br />
'''view.jsp''': es la visualización del portlet.<br />
<br />
<br />
Links<br />
http://www.liferay.com/documentation/liferay-portal/6.0/development/-/ai/portlet-development</div>Eestevezhttps://dosideas.com/wiki/Visualizaci%C3%B3n_din%C3%A1mica_de_web_content_en_LiferayVisualización dinámica de web content en Liferay2013-09-26T16:07:12Z<p>Franco: </p>
<hr />
<div>En este ejemplo se muestra como visualizar de forma dinámica, un Web Content especifico mediante su id. <br />
<br />
En el código del template vemos como obtener un parámetro de la url actual (el id del Web Content) y como buscar el contenido para visualizar.<br />
<br />
<code><br />
#set ($current_url = $request.get("attributes").CURRENT_COMPLETE_URL)<br />
#set ($paramName='webContentId')<br />
#set ($webContentId = $httpUtil.getParameter($current_url, $paramName))<br />
#set ($group_id = $getterUtil.getLong($request.theme-display.scope-group-id))<br />
#set ($webcontent-id = $webContentId)<br />
#set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id, "", "$locale", ""))<br />
<br />
## Para webcontents globales que tienen asociado una estructura y template<br />
## $journalContentUtil.getContent($company.group.groupId, $webcontent-id, $viewMode, $request.theme-display.language-id , $xmlRequest)<br />
<br />
#if($webcontent)<br />
$webcontent<br />
#else<br />
<a href="?webContentId=WHO-IS-USING-LIFERAY">WHO-IS-USING-LIFERAY</a><br />
<br><br />
#end<br />
<a href="/web/guest/prueba">Ir al link</a><br />
</code><br />
<br />
Para asignar un id propio a un Web Content hay que agregar la siguiente propiedad al archivo portal-ext.properties.<br />
<br />
<code><br />
journal.article.force.autogenerate.id=false<br />
</code><br />
<br />
Esto habilitara en la creación del Web Content la posibilidad de cargar un id propio o la opción de tildar que Liferay lo autogenere.<br />
<br />
<br />
[[Category:Liferay Web Content]]</div>Parivero