Fórum

How to set attribute in template

Balaji Chopparapu, modificado 11 Anos atrás.

How to set attribute in template

New Member Postagens: 22 Data de Entrada: 08/10/10 Postagens Recentes
Hi,
I am trying to change portlet title in a template but it is not working. Can you please suggest?
This is not working. Portlet title is not changed
$request.get("theme-display").get("portlet-display").set("title","Changed Titile")

But get is working
$request.get("theme-display").get("portlet-display").get("title")

Thanks in Advance
Balaji
thumbnail
Paul ., modificado 11 Anos atrás.

RE: How to set attribute in template

Liferay Master Postagens: 522 Data de Entrada: 29/08/11 Postagens Recentes
I am afraid you won't be able to set anything like this. You'll have to retrieve the preferences and then store them.

#set ($plid = $getterUtil.getLong($request.get("theme-display").get("plid")))
#set ($layoutLocalService = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalService"))
#set ($id = $request.get("theme-display").get("portlet-display").get("id"))
#set ($portletPreferencesFactoryUtil = $portal.getClass().forName("com.liferay.portlet.PortletPreferencesFactoryUtil"))
#set ($portletPreferences = $portletPreferencesFactoryUtil.getPortletSetup($layoutLocalService.getLayout($plid),$id,null))

#set ($void = $portletPreferences.setValue("portletSetupTitle_en_US", "Changed"))
#set ($void = $portletPreferences.store())
thumbnail
Sampsa Sohlman, modificado 11 Anos atrás.

RE: How to set attribute in template

Regular Member Postagens: 230 Data de Entrada: 27/09/07 Postagens Recentes
Hi,

I'm assuming that this templating questions is for themes.

Balaji Chopparapu:
I am trying to change portlet title in a template but it is not working. Can you please suggest?


If you just want to change portlet name to be displayed at theme do the changes at portlet.vm, where you can decide what is the portlet name on the page.

Paul .:
You'll have to retrieve the preferences and then store them.


Storing the preferences at theme is not good idea, since that causes database traffic and will kill performance of portal.