Visualización dinámica de web content en Liferay
De Dos Ideas.
Revisión del 17:32 30 oct 2013 de Franco (discusión | contribuciones)
En este ejemplo se muestra como visualizar de forma dinámica, un Web Content especifico mediante su id.
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.
- set ($current_url = $request.get("attributes").CURRENT_COMPLETE_URL)
- set ($paramName='webContentId')
- set ($webContentId = $httpUtil.getParameter($current_url, $paramName))
- set ($group_id = $getterUtil.getLong($request.theme-display.scope-group-id))
- set ($webcontent-id = $webContentId)
- set ($webcontent=$journalContentUtil.getContent($group_id, $webcontent-id, "", "$locale", ""))
- Para webcontents globales que tienen asociado una estructura y template
- $journalContentUtil.getContent($company.group.groupId, $webcontent-id, $viewMode, $request.theme-display.language-id , $xmlRequest)
- if($webcontent)
$webcontent
- else
<a href="?webContentId=WHO-IS-USING-LIFERAY">WHO-IS-USING-LIFERAY</a>
- end
<a href="/web/guest/prueba">Ir al link</a>
Para asignar un id propio a un Web Content hay que agregar la siguiente propiedad al archivo portal-ext.properties.
journal.article.force.autogenerate.id=false
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.