Foros de discusión

[Solucionado] Identificar páginas velocity multi-language

David Berruezo, modificado hace 10 años.

[Solucionado] Identificar páginas velocity multi-language

New Member Mensajes: 7 Fecha de incorporación: 22/04/14 Mensajes recientes
Hola, soy nuevo en Liferay y tengo una duda.

Estoy con un theme hecho y he de solucionar incidencias. Pues tengo que identificar una página (por ejemplo: paginaX), en principio es trivial si uso con velocity la función getName():


#if ($layout.getName() == "paginaX")
   //ToDo
#end


El problema es cuando se añade idiomas, no quiero tener que ir a cada 'if' del porlet_normal.vm y añadir: ' && $layout.getName() == "paginaY" '.

La pregunta es si hay alguna forma de hacer genérico este proceso, un id de página por ejemplo. He leido que el friendly url puede hacer las veces de ID pero trabajo con liferay 6.2 y también puedo modificar la friendly url por idioma (supongo que otras versiones también se puede emoticon).

Gracias,

David

Pd: También tengo esta duda con navigation.vm y $nav_item, pero supongo que será la misma solución jeje
David Berruezo, modificado hace 10 años.

RE: Identificar páginas velocity multi-language

New Member Mensajes: 7 Fecha de incorporación: 22/04/14 Mensajes recientes
Auto-solucionado:

Una forma para identificar una página es mediante la friendly url. Aunque en la v6.2 puedas tener diferentes el sistema te devolverá la friendly url del idioma por defecto.

Para el portal_normal.vm:

#set ($friendlyurl=$page.getFriendlyURL().replace("/",""))
#if ($friendlyurl=="una-página-cualquiera")
   //ToDo
#end


Para el navigation.vm:

#set ($friendlyurl=$nav_item.getLayout().getFriendlyURL())
#if ($friendlyurl != "/un-apartado-cualquiera")
   //ToDo
#end


Saludos,

David