Inicio de mvnForum Bienvenido Guest   | Iniciar sesión
  Búsqueda  
  Indice  | Temas Recientes  | Quién Está en Línea  | Lista de Usuarios  | Nuevo Usuario  | Búsqueda  | Ayuda  | RSS feeds


Ir a »
Estado del tema: Normal
Total de mensajes en este tema: 3
[Añadir a Mis Favoritos] [Añadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 7523 veces y tiene 2 respuestas Tema Siguiente
Masculino andresmb
Stranger



Ingresó: 17-mar-2016
Mensajes: 9
Estado: Desconectados

Editar propiedades desde JSP Responder a este mensaje
Responder citando

Hola a todos,

Os pongo en contexto: estoy creando una página padre(productos) con un footer que carga las imágenes de portada de sus hijas (producto1, producto2,...). Para hacerlo, he creado una propiedad "Imagen" a la que le asigno el valor desde la hija con la URL de la imagen y desde la página padre, hago

<c:forEach items="${nav.items}" var="elem" varStatus="status">
<a href="<cms:link>${elem.resourceName}</cms:link>" style="background-image: url('<cms:property name="Imagen" file="${elem.resourceName}index.html"/>');">
<div class="vcenter">
<span>${elem.getProperty('NavText')}</span>
</div>
</a>
</c:forEach>

La pregunta es, ¿hay alguna forma de editar el valor de la propiedad del html desde el formatter "portada.jsp", en luegar de tener que hacerlo manualmente?

Gracias de antemano,

Andrés
[30-jun-2016 11:24:39] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino sergio
Administrador
Avatar del Miembro

España
Ingresó: 27-sep-2006
Mensajes: 2470
Estado: Desconectados
Re: Editar propiedades desde JSP Responder a este mensaje
Responder citando

Para editar una propiedad lo puedes hacer desde la api de OpenCms usando la clase: cmsObject. Tienes un método que es writePropertyObject(...) que te permite editar, le dices la ruta, la propiedad y el valor y listo.

Ten en cuenta que tienes que hacerlo con un cmsObject con permisos y en el proyecto offline.
----------------------------------------
---------------------------------------------------
Sergio Rapos Vargas.
Administrador de OpenCmsHispano.
sergio.raposo@opencmshispano.es
[30-jun-2016 12:41:45] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino andresmb
Stranger



Ingresó: 17-mar-2016
Mensajes: 9
Estado: Desconectados

Re: Editar propiedades desde JSP Responder a este mensaje
Responder citando

Gracias por la respuesta Sergio

He estado haciendo pruebas y leyendo documentación y he llegado a esto:

<%
CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);
CmsObject cmso = cms.getCmsObject();

CmsProperty property = cmso.readPropertyObject("/opencms/opencms/sites/default/.content/gg-cover/gg-cover-00003.xml", "NavImage", false);

cmso.lockResource("/opencms/opencms/sites/default/.content/gg-cover/");
property.setValue("aquí_vendría_la_ruta", CmsProperty.TYPE_INDIVIDUAL);
cmso.writePropertyObject("/opencms/opencms/sites/default/.content/gg-cover/", property);
cmso.unlockResource("/opencms/opencms/sites/default/.content/gg-cover/");
%>

Pero me dice que:

Container-page element "/.content/gg-cover/gg-cover-00003.xml" could not be rendered with formatter "/system/modules/aero.groundforce.site/formatters/gg-cover-formatter.jsp".

javax.servlet.ServletException: org.opencms.file.CmsVfsResourceNotFoundException: Error reading resource from path "/opencms/opencms/sites/default/.content/gg-cover/gg-cover-00003.xml".Stack trace

Entiendo que el problema está en que no encuentra la ruta, y he pensado en pasarle la variable "content" del formatter, pero no veo cómo

¿Alguna idea?

Gracias de antemano,

Andrés
[07-jul-2016 12:04:38] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
[Versión imprimible] [Publicar nuevo tema]