留言板
portlet preferences y theme.runtime
Guillermo Abadía Cenoz,修改在11 年前。
portlet preferences y theme.runtime
New Member 帖子: 11 加入日期: 11-9-7 最近的帖子
Buenas,
He visto que al insertar un portlet en ina plantilla de velocity se pueden establecer valores para una serie de preferencias, así:
Entiendo que algunas son comunes para todos los portlets y otras específicas de cada uno ¿Cómo puedo saber para un portlet determinado qué preferencias pueden modificarse?
Creo, aunque no estoy seguro, que esas preferencias se definen el el fichero portlet.xml de cada portlet. He buscado esos ficheros en github / liferay/liferay-portal pero no soy capaz de encontrarlos.
Tampoco he conseguido encontrar el fuente de theme.runtime(). Veo que tiene 3 parámetros pero sólo se usan 2. ¿para qué sirve elque falta?
A ve si alguien puede darme alguan pista. Muchas gracias.
He visto que al insertar un portlet en ina plantilla de velocity se pueden establecer valores para una serie de preferencias, así:
$velocityPortletPreferences.setValue('portletSetupShowBorders','false')
$velocityPortletPreferences.setValue('display-style','0')
$velocityPortletPreferences.setValue('language-ids','es_ES,en_US')
$theme.runtime('77', '', $velocityPortletPreferences.toString())
$velocityPortletPreferences.reset()
Entiendo que algunas son comunes para todos los portlets y otras específicas de cada uno ¿Cómo puedo saber para un portlet determinado qué preferencias pueden modificarse?
Creo, aunque no estoy seguro, que esas preferencias se definen el el fichero portlet.xml de cada portlet. He buscado esos ficheros en github / liferay/liferay-portal pero no soy capaz de encontrarlos.
Tampoco he conseguido encontrar el fuente de theme.runtime(). Veo que tiene 3 parámetros pero sólo se usan 2. ¿para qué sirve elque falta?
A ve si alguien puede darme alguan pista. Muchas gracias.
Guillermo Alvarado,修改在11 年前。
RE: portlet preferences y theme.runtime
New Member 帖子: 5 加入日期: 12-1-27 最近的帖子
Hola, espero que mi respuesta te sirva aunque sea un poco, supongo yo que lo vas a utilizar para añadir un portlet en un theme(es lo mas comun).
Si tu quieres saber cuales son las configuraciónes que puedes configurar en cada portlet lo mas simple para mi es que veas el formulario que viene establecido en la vista de configuración del portlet,
Te pongo un ejemplo el portlet de idioma(lenguages) ya sea que lo veas de forma visual, en lo personal uso el complemento web developer para firefox. Forms->View Forms Information, encontraras algo parecido a lo siguiente:
Ahora si te fijas languageId contiene la siguiente forma:
_86_preferences--languageIds--
Es:
86 : NombreDelPortlet
preferences : Nombre especial para guardar los campos por medio de la clase DefaultConfigurationAction
languageIds :Nombre del parametro- lo que a ti te interesa
Aparate de este campo tambien existe: _86_preferences--displayStyle-- , estos dos parametros son unicos de este portlet, en el caso de showBorders es universal.
Si deseas verlo en los fuente abre el archivo:
liferay-portal-6.1.1-ce-ga2\tomcat-7.0.27\webapps\ROOT\html\portlet\language\configuration.jsp
Donde encontraras esta misma información
Ahora con respecto a tu pregunta sobre theme.runtime esta funcion es para mandar renderizar el portlet con las configuraciónes establecidas en velocityPortletPreferences, solo un comentario no tengo ni idea de sobre que versión de liferay estes eimplementando pero para que se apliquen los valores el primer campo que tu tienes como "77" es importante(supongo que no es la 6.1.1 en esta el porlet language es 82), este indica el nombre de la instancia con la que sera identificado el portlet dentro de la pagina, deb estar conformado de la siguiente forma:
nombreDelPortlet_INSTANCE_IdentificadorDeLaInstancia
El nombre de la instancia puede es una combinacion de numeros y letras que decees, dependiendo de la version es el numero de caracteres totales (12 en 6.1.1) que yo recuerde no debe ser al hazar el colocarle el nombre pero esto si te lo debo. INSTANCE es fijo
Si tu quieres saber cuales son las configuraciónes que puedes configurar en cada portlet lo mas simple para mi es que veas el formulario que viene establecido en la vista de configuración del portlet,
Te pongo un ejemplo el portlet de idioma(lenguages) ya sea que lo veas de forma visual, en lo personal uso el complemento web developer para firefox. Forms->View Forms Information, encontraras algo parecido a lo siguiente:
Elements
Id Name Type Value Label Size Maximum Length
_86_fm _86_formDate input 1354745003665
_86_cmd _86_cmd input update
_86_redirect _86_redirect input /
_86_fm _86_fm fieldset
_86_languageIds [b]_86_preferences--languageIds--[/b] input
_86_currentLanguageIds _86_currentLanguageIds select 10
aui_3_4_0_1_391 _86_fm button
aui_3_4_0_1_410 _86_fm button
aui_3_4_0_1_174 _86_fm button
aui_3_4_0_1_195 _86_fm button
_86_availableLanguageIds _86_availableLanguageIds select 10
_86_fm _86_fm fieldset
_86_displayStyle _86_preferences--displayStyle-- select 2
_86_fm _86_fm submit Guardar
Ahora si te fijas languageId contiene la siguiente forma:
_86_preferences--languageIds--
Es:
86 : NombreDelPortlet
preferences : Nombre especial para guardar los campos por medio de la clase DefaultConfigurationAction
languageIds :Nombre del parametro- lo que a ti te interesa
Aparate de este campo tambien existe: _86_preferences--displayStyle-- , estos dos parametros son unicos de este portlet, en el caso de showBorders es universal.
Si deseas verlo en los fuente abre el archivo:
liferay-portal-6.1.1-ce-ga2\tomcat-7.0.27\webapps\ROOT\html\portlet\language\configuration.jsp
Donde encontraras esta misma información
<aui:input name="preferences--languageIds--" type="hidden" />
<aui:select name="preferences--displayStyle--">
<aui:option label="icon" selected="<%= displayStyle == LanguageTag.LIST_ICON %>" value="<%= LanguageTag.LIST_ICON %>" />
<aui:option label="long-text" selected="<%= displayStyle == LanguageTag.LIST_LONG_TEXT %>" value="<%= LanguageTag.LIST_LONG_TEXT %>" />
<aui:option label="short-text" selected="<%= displayStyle == LanguageTag.LIST_SHORT_TEXT %>" value="<%= LanguageTag.LIST_SHORT_TEXT %>" />
<aui:option label="select-box" selected="<%= displayStyle == LanguageTag.SELECT_BOX %>" value="<%= LanguageTag.SELECT_BOX %>" />
</aui:select>
Ahora con respecto a tu pregunta sobre theme.runtime esta funcion es para mandar renderizar el portlet con las configuraciónes establecidas en velocityPortletPreferences, solo un comentario no tengo ni idea de sobre que versión de liferay estes eimplementando pero para que se apliquen los valores el primer campo que tu tienes como "77" es importante(supongo que no es la 6.1.1 en esta el porlet language es 82), este indica el nombre de la instancia con la que sera identificado el portlet dentro de la pagina, deb estar conformado de la siguiente forma:
nombreDelPortlet_INSTANCE_IdentificadorDeLaInstancia
El nombre de la instancia puede es una combinacion de numeros y letras que decees, dependiendo de la version es el numero de caracteres totales (12 en 6.1.1) que yo recuerde no debe ser al hazar el colocarle el nombre pero esto si te lo debo. INSTANCE es fijo