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
ESTRUCTURAS, PLANTILLALS Y PUBLICACIÓN DE CONTENIDOS.
Buenas me gustaría que me aconsejárais acerca de lo que me sucede, creé una estructura y le asigne una plantilla de forma "automática", sin picar código simplemente actualizándolo.
A la hora de publicar contenido usando esa plantilla va bien pero luego a la hora de visualizarlo tan solo puedo ver el título no puedo leer el texto (si es que lo introduzco)
Un saludo.
A la hora de publicar contenido usando esa plantilla va bien pero luego a la hora de visualizarlo tan solo puedo ver el título no puedo leer el texto (si es que lo introduzco)
Un saludo.
Hola,
Lo que puede pasar es que tengas el texto "localizado" (en dos idiomas) y en el idioma en el que estas no tienes texto añadido.
Otra posibilidad es que tengas la plantilla o la estructura mal hecha. Lo que puede hacer es pegar el código de la estructura y de la plantilla para ver si hay algo mal.
Saludos.
Lo que puede pasar es que tengas el texto "localizado" (en dos idiomas) y en el idioma en el que estas no tienes texto añadido.
Otra posibilidad es que tengas la plantilla o la estructura mal hecha. Lo que puede hacer es pegar el código de la estructura y de la plantilla para ver si hay algo mal.
Saludos.
Hola, gracias por tu respuesta ante todo, el código de la estructura es muy simple (estoy haciendo pruebas y demás) es el siguiente:
<root>
<dynamic-element name='Titulo' type='text' repeatable='false'></dynamic-element>
<dynamic-element name='Descripcion' type='text_box' repeatable='false'></dynamic-element> <dynamic-element name='Tipo' type='list' repeatable='false'>
<dynamic-element name='Imagen' type='Examinar' repeatable='false'> </dynamic-element> <dynamic-element name='Video' type='youtube' repeatable='false'></dynamic-element>
</dynamic-element>
</root>
Y el código de la plantilla:
#### Velocity Transform Template
#### All dynamic elements in a structure can be accessed as a Velocity variable.
#### The given structure:
#### <root>
## <dynamic-element name="main-text" type="text_area">
## <dynamic-element name="sub-image" type="image"></dynamic-element>
## <dynamic-element name="sub-text" type="text"></dynamic-element>
## </dynamic-element>## <dynamic-element name="more-text" type="text_area"></dynamic-element>
## <dynamic-element name="ms-list" type="multi-list">
## <dynamic-element name="chocolate" type="Chocolate"></dynamic-element>
## <dynamic-element name="strawberry" type="Strawberry"></dynamic-element>
## <dynamic-element name="vanilla" type="Vanilla"></dynamic-element>
## </dynamic-element>
## </root>
#### The dynamic element "main-text" can be accessed in the following ways:
#### $main-text.getName() - The name "Titulo"
## $main-text.getData() - The name "Descripcion"
## $main-text.getType() - The type "text-area"
## $main-text.getChildren() - A collection with two nodes (sub-image and
## sub-text) that can be used in the #foreach clause
## $main-text.getSiblings() - A collection of elements with the name
## "main-text". This will only return more than one
## element if this element is repeatable.
#### One special accessor exists for elements of type "multi-list":
#### $ms-list.getOptions() - A collection with up to three string entries
## (chocolate, strawberry, or vanilla) that can be used
## in the
#foreach clause
#### Another special accessor exists for elements of type "link_to_layout":
#### $linkToPage.getUrl() - The URL that links to the selected page in the current
## community, organization, etc.
#### The variable $journalTemplatesPath can be used to include
## another Journal template, e.g.
#parse ("$journalTemplatesPath/LAYOUT-PARENT")
#### The variable $viewMode specifies which mode the article is being viewed in.
## For example, if $viewMode evaluates to "print", that means the user clicked
## the print icon to view this article.
##
Muchas gracias, por la ayuda de antemano
<root>
<dynamic-element name='Titulo' type='text' repeatable='false'></dynamic-element>
<dynamic-element name='Descripcion' type='text_box' repeatable='false'></dynamic-element> <dynamic-element name='Tipo' type='list' repeatable='false'>
<dynamic-element name='Imagen' type='Examinar' repeatable='false'> </dynamic-element> <dynamic-element name='Video' type='youtube' repeatable='false'></dynamic-element>
</dynamic-element>
</root>
Y el código de la plantilla:
#### Velocity Transform Template
#### All dynamic elements in a structure can be accessed as a Velocity variable.
#### The given structure:
#### <root>
## <dynamic-element name="main-text" type="text_area">
## <dynamic-element name="sub-image" type="image"></dynamic-element>
## <dynamic-element name="sub-text" type="text"></dynamic-element>
## </dynamic-element>## <dynamic-element name="more-text" type="text_area"></dynamic-element>
## <dynamic-element name="ms-list" type="multi-list">
## <dynamic-element name="chocolate" type="Chocolate"></dynamic-element>
## <dynamic-element name="strawberry" type="Strawberry"></dynamic-element>
## <dynamic-element name="vanilla" type="Vanilla"></dynamic-element>
## </dynamic-element>
## </root>
#### The dynamic element "main-text" can be accessed in the following ways:
#### $main-text.getName() - The name "Titulo"
## $main-text.getData() - The name "Descripcion"
## $main-text.getType() - The type "text-area"
## $main-text.getChildren() - A collection with two nodes (sub-image and
## sub-text) that can be used in the #foreach clause
## $main-text.getSiblings() - A collection of elements with the name
## "main-text". This will only return more than one
## element if this element is repeatable.
#### One special accessor exists for elements of type "multi-list":
#### $ms-list.getOptions() - A collection with up to three string entries
## (chocolate, strawberry, or vanilla) that can be used
## in the
#foreach clause
#### Another special accessor exists for elements of type "link_to_layout":
#### $linkToPage.getUrl() - The URL that links to the selected page in the current
## community, organization, etc.
#### The variable $journalTemplatesPath can be used to include
## another Journal template, e.g.
#parse ("$journalTemplatesPath/LAYOUT-PARENT")
#### The variable $viewMode specifies which mode the article is being viewed in.
## For example, if $viewMode evaluates to "print", that means the user clicked
## the print icon to view this article.
##
Muchas gracias, por la ayuda de antemano
Hola,
Pero, en la plantilla no muestras nada, no ¿?
Tendrías que mostrar $Titulo.getData() y luego $Descripcion.getData() y así con el resto de tu estructura.
Porque en tu código de plantilla esta todo comentado #
Ya me diras, a ver si es eso, pero tiene toda la pinta de que sí, porque yo no veo ninguna línea en tu plantilla que no este comentada.
Saludos.
Pero, en la plantilla no muestras nada, no ¿?
Tendrías que mostrar $Titulo.getData() y luego $Descripcion.getData() y así con el resto de tu estructura.
Porque en tu código de plantilla esta todo comentado #
Ya me diras, a ver si es eso, pero tiene toda la pinta de que sí, porque yo no veo ninguna línea en tu plantilla que no este comentada.
Saludos.
¿A que te refieres exactamente? Perdona mi ignorancia al respecto pero esque llevo con liferay muy poco tiempo y tengo que abarcar estos campos lo antes posible. ¿Que debo quitar las almoadillas? Perdona mi ignorancia de nuevo y muchisimas gracias por tu ayuda.
Un saludo.
Un saludo.
Nada, no te preocupes, porque yo tampoco soy ningún pro.
Lo que hace tu plantilla es mostrar los valores que contiene tu estructura. Esta plantilla suele ser una plantilla VM.
Entonces en dicha plantilla puedes usar elementos html y css y además diversos elementos de lenguaje Velocity.
La # es un comentario.
Luego para acceder a los datos de tu estructura cada campo de la misma es representado por una variable ($nombre_campo_estructura). Para acceder al contenido de esa variable, tienes que llamar al metodo getData(), aunque también vale acceder a la propiedad data directamente.
Te voy a dejar un enlace al wiki, en el que explican un poco todo esto:
http://www.liferay.com/community/wiki/-/wiki/Main/CMS+Template+(Velocity)
Espero haberte servido de ayuda.
Un saludo, y mucha suerte.
Lo que hace tu plantilla es mostrar los valores que contiene tu estructura. Esta plantilla suele ser una plantilla VM.
Entonces en dicha plantilla puedes usar elementos html y css y además diversos elementos de lenguaje Velocity.
La # es un comentario.
Luego para acceder a los datos de tu estructura cada campo de la misma es representado por una variable ($nombre_campo_estructura). Para acceder al contenido de esa variable, tienes que llamar al metodo getData(), aunque también vale acceder a la propiedad data directamente.
Te voy a dejar un enlace al wiki, en el que explican un poco todo esto:
http://www.liferay.com/community/wiki/-/wiki/Main/CMS+Template+(Velocity)
Espero haberte servido de ayuda.
Un saludo, y mucha suerte.
Voy a echar un vistazo en la wiki, porque ya no es solo con mi plantilla, tengo una plantilla de un compañero (Que funciona perfectamente) sin embargo a mi me da un error como que ha expirado, no tengo permisos o el contenido ha sido eliminado... asi que ya estoy pensando que pueda ser un fallo en mi liferay o algo... :S gracias por tu ayuda voy a ver la wiki a ver si me dice algo mas.
Un saludo y gracias.
Un saludo y gracias.
Tema solucionado, muchisimas gracias por tu ayuda, me he creado u na plantilla asi a nivel general para publicar contenido en la que se pueden publicar videos, imágen o simplemente texto y va fenomenal, ahora el siguiente paso es intentar darle estilo a la presentación a ver si puedo compactarla un poco para que no sea a lo largo de la página, si no un poquito a lo ancho también.
¿Se puede crear una plantilla para la visualización del contenido de un portlet?
¿Se puede crear una plantilla para la visualización del contenido de un portlet?
Vale también está solucionada mi última pregunta... era bastante simple jejejeje simplemente era aplicarle reglas de estilo a la misma plantilla creada para la estructura... XDDD perdonadme esque peco de novato a veces... (vamos porque lo soy no por otra cosa jajaja)
Muchas gracias a todos.
Muchas gracias a todos.