Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
css en portlets
hola de nuevo
Alguien sabe como hacer para que cuando se instala un portlet y se agrega a una pagina los estilos del portal no se les apliquen a los componentes del nuevo portlet. Es decir que el portlet se mantenga tal y como es, porque por ejemplo
cuando se selecciona un area de texto o un campo de texto el fondo se pone amarillo , etc
salu2s
Alguien sabe como hacer para que cuando se instala un portlet y se agrega a una pagina los estilos del portal no se les apliquen a los componentes del nuevo portlet. Es decir que el portlet se mantenga tal y como es, porque por ejemplo
cuando se selecciona un area de texto o un campo de texto el fondo se pone amarillo , etc
salu2s
que es exactamente lo que queres hacer?? para aplicar reglas css tienes que ser lo mas especifico posible en tus reglas, es decir, aplicarlas utilizando ID o Class dentro de tu reglas.
Espero haberte ayudado.
Espero haberte ayudado.
Lo que yo he hecho para evitar que el css del tema se aplique a los elementos html de un portlet, es definir estilos específicos para dicho portlet, esto lo hago creando un archivo css y para cada clase escrita le pongo el id del portlet, por ejemplo si quisiera poner un label de color azul podría hacer algo como esto:
#portlet-wrapper-mi-portlet_WAR #miEnlace label{
color: blue;
}
La instancia del portlet la puedes obtener al dar click en el botón de apariencia > Estilos Avanzados
Una observación es que a veces me ha pasado que para que el estilo funcione se debe escribir primero el nombre del elemento html antes de la clase ccss que se le aplica, como:
#portlet-wrapper-mi-portlet_WAR nombreElementoHtml #nombreClaseCcss {
}
#portlet-wrapper-mi-portlet_WAR #miEnlace label{
color: blue;
}
La instancia del portlet la puedes obtener al dar click en el botón de apariencia > Estilos Avanzados
Una observación es que a veces me ha pasado que para que el estilo funcione se debe escribir primero el nombre del elemento html antes de la clase ccss que se le aplica, como:
#portlet-wrapper-mi-portlet_WAR nombreElementoHtml #nombreClaseCcss {
}
mi problema es que yo utilizo el framework zk para desarrollar pero cuando despliego los portlets en el lifeary los componentes se renderizan de forma diferente, por ejemplo los campos de textos son un poco mas grandes, al escribir el fondo se pone amarillo , entre otras cosas.
Por otra parte yo no le agrego hojas de estilos a estos componentes porque el framewor lo hace por defecto
lo que quiero saber es si existe alguna forma de impedir que portal le haga algun cambio a los estilos del portlet
salu2s
Por otra parte yo no le agrego hojas de estilos a estos componentes porque el framewor lo hace por defecto
lo que quiero saber es si existe alguna forma de impedir que portal le haga algun cambio a los estilos del portlet
salu2s
Hola,
El problema que veo yo al definir el estilo sobre la instancia del portlet es que si se reinicia el servidor de aplicaciones (por ejemplo el tomcat), el portlet cambia su id de instancia, por lo que se pierde el estilo.
¿Hay alguna forma de definir el estilo de un portlet de forma permanente y no basado en el id de instancia que va cambiando?
Muchas gracias. Un saludo!
El problema que veo yo al definir el estilo sobre la instancia del portlet es que si se reinicia el servidor de aplicaciones (por ejemplo el tomcat), el portlet cambia su id de instancia, por lo que se pierde el estilo.
¿Hay alguna forma de definir el estilo de un portlet de forma permanente y no basado en el id de instancia que va cambiando?
Muchas gracias. Un saludo!
Buenas Cesar,
nosotros trabajamos mas o menos como comenta aleph__ y funciona muy bien, te explico:
a la hora de desarrollar un portlet, montas unos CSS específicos para los campos de texto, H2, etc... que vayas a utilizar.
Por ejemplo:
Si vas a montar un portlet para mostrar información sobre espectáculos, pues podrías montar todos los CSS con una cadena delante, por ejemplo espectaculo_
y a la hora de montar las jsp's de dicho portlet, pues asegurate de ir usando los css que has hecho.
y nada mas!
luego para temas de JS si que usamos el tag <portlet:namespace/>
y a la hora de llamar pues nada, solamente incluyes el tag y punto... facil y limpio!
Espero que te sirva, y que llegues a encontrarle el gusto a Liferay...
Saludos,
Bartolomé.
nosotros trabajamos mas o menos como comenta aleph__ y funciona muy bien, te explico:
a la hora de desarrollar un portlet, montas unos CSS específicos para los campos de texto, H2, etc... que vayas a utilizar.
Por ejemplo:
Si vas a montar un portlet para mostrar información sobre espectáculos, pues podrías montar todos los CSS con una cadena delante, por ejemplo espectaculo_
y a la hora de montar las jsp's de dicho portlet, pues asegurate de ir usando los css que has hecho.
y nada mas!
luego para temas de JS si que usamos el tag <portlet:namespace/>
function estohacealgo<portlet:namespace />() {
}
y a la hora de llamar pues nada, solamente incluyes el tag y punto... facil y limpio!
<a href="#" onclick="javascript:estohacealgo<portlet:namespace/>()">dale</a>Espero que te sirva, y que llegues a encontrarle el gusto a Liferay...
Saludos,
Bartolomé.
También tienes en el liferay-portlet.xml la opción de poner automáticamente un wrapper css a tu portlet.
<css-class-wrapper>portlet-enterprise-admin</css-class-wrapper>
Con esto luego en tu css harías:
.portlet-enterprise-admin h2 {
}
un saludo,!
(y un poco más de paciencia César, que Agosto no es el mejor mes para tener respuestas rápidas). Has leído la documentación oficial del producto? También hay un libro nuevo sobre desarrollo que explica todas estas cosas y además hay cursos disponibles.
<css-class-wrapper>portlet-enterprise-admin</css-class-wrapper>
Con esto luego en tu css harías:
.portlet-enterprise-admin h2 {
}
un saludo,!
(y un poco más de paciencia César, que Agosto no es el mejor mes para tener respuestas rápidas). Has leído la documentación oficial del producto? También hay un libro nuevo sobre desarrollo que explica todas estas cosas y además hay cursos disponibles.