Embeber un portlet dentro de un theme en Liferay

De Dos Ideas.
Saltar a: navegación, buscar

Para embeber un portlet dentro de un theme, se hace a través del siguiente código dentro del portal_normal.vm:

$theme.runtime("idDeLaInstanciaDelportlet", "", "opcionesParaElPortlet")


para el id de la instancia del portlet hay dos opciones:

  • Si el portlet no es instanciable: es el id de portlet de liferay. Los ids se encuentran en la siguiente página: ids de portlets de liferay
  • Si el portlet es instanciable: además del id del portlet hay que agregar "_INSTANCE_" y además un alfanumérico que lo identifique. Por ejemplo para el portlet de idioma quedaría: "82_INSTANCE_idiomaEnConnectis"


para las opciones del portlet se pueden ir agregando de a una:

$velocityPortletPreferences.setValue("portletSetupShowBorders", "false")
$velocityPortletPreferences.setValue("displayStyle", "1")

luego pedirlas todas juntas:

$velocityPortletPreferences.toString()

y por último borrar las preferencias agregadas para que se pueda seguir utilizando la variable:

$velocityPortletPreferences.reset()


En el caso de querer agregar el portlet de idioma, el código completo quedaría de la suiente forma:

$velocityPortletPreferences.setValue("portletSetupShowBorders", "false") 
$velocityPortletPreferences.setValue("languageIds", "es_ES,en_US")
$velocityPortletPreferences.setValue("displayStyle", "1")
$theme.runtime("82_INSTANCE_idiomaEnConnectis", "", $velocityPortletPreferences.toString())
$velocityPortletPreferences.reset()