Foros de discusión
RE: Chamar Portlet de dentro do Tema
Picanha picanha, modificado hace 11 años.
Chamar Portlet de dentro do Tema
New Member Mensajes: 13 Fecha de incorporación: 9/03/12 Mensajes recientes
Olá pessoal,
procurei como chamar métodos de portlets de dentro de um velocity do tema mas não encontrei nada. Alguém já fez isso?
Tem como incluir um portlet manualmente no tema?
Obrigado.
procurei como chamar métodos de portlets de dentro de um velocity do tema mas não encontrei nada. Alguém já fez isso?
Tem como incluir um portlet manualmente no tema?
Obrigado.
Vitor Silva, modificado hace 11 años.
RE: Chamar Portlet de dentro do Tema
Junior Member Mensajes: 36 Fecha de incorporación: 3/05/12 Mensajes recientes
Sim tem. No tema e num template.
No tema
$theme.runtime exemplo:
#set ($myPortletId = "73_INSTANCE_${instanceId}")$theme.runtime($myPortletId, '', $velocityPortletPreferences.toString())
No template
$processor.processPortlet("73_INSTANCE_abcd") em que abcd e um random que representa a instancia.
No tema
$theme.runtime exemplo:
#set ($myPortletId = "73_INSTANCE_${instanceId}")$theme.runtime($myPortletId, '', $velocityPortletPreferences.toString())
No template
$processor.processPortlet("73_INSTANCE_abcd") em que abcd e um random que representa a instancia.
Picanha picanha, modificado hace 11 años.
RE: Chamar Portlet de dentro do Tema
New Member Mensajes: 13 Fecha de incorporación: 9/03/12 Mensajes recientes
Olá,
no fim eu consegui dessa forma:
#set ($locPortletId = "ID_DO_PORTLET")
#set ($portletPreferencesFactoryUtil = $portal.getClass().forName("com.liferay.portlet.PortletPreferencesFactoryUtil"))
#set ($portletSetup = $portletPreferencesFactoryUtil.getLayoutPortletSetup($layout, $locPortletId))
#if ($portletSetup.getValue("portletSetupShowBorders", "") != "false")
#set ($temp = $portletSetup.setValue("portletSetupShowBorders", "false"))
#set ($temp = $portletSetup.store())
#end
#set ($embeddedPortletURL = $portletURLFactory.create($request, $locPortletId, $layout.plid, "RENDER_PHASE"))
#set ($VOID = $embeddedPortletURL.setWindowState("pop_up"))
#set ($VOID = $embeddedPortletURL.setPortletMode("view"))
<iframe frameborder="0" id="${locPortletId}custom_frame" src="${embeddedPortletURL.toString()}" scrolling="no" width="100%"></iframe>
no fim eu consegui dessa forma:
#set ($locPortletId = "ID_DO_PORTLET")
#set ($portletPreferencesFactoryUtil = $portal.getClass().forName("com.liferay.portlet.PortletPreferencesFactoryUtil"))
#set ($portletSetup = $portletPreferencesFactoryUtil.getLayoutPortletSetup($layout, $locPortletId))
#if ($portletSetup.getValue("portletSetupShowBorders", "") != "false")
#set ($temp = $portletSetup.setValue("portletSetupShowBorders", "false"))
#set ($temp = $portletSetup.store())
#end
#set ($embeddedPortletURL = $portletURLFactory.create($request, $locPortletId, $layout.plid, "RENDER_PHASE"))
#set ($VOID = $embeddedPortletURL.setWindowState("pop_up"))
#set ($VOID = $embeddedPortletURL.setPortletMode("view"))
<iframe frameborder="0" id="${locPortletId}custom_frame" src="${embeddedPortletURL.toString()}" scrolling="no" width="100%"></iframe>