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: 9
[Añadir a Mis Favoritos] [Añadir un aviso a este tema] [Publicar nuevo tema]
Autor
Tema Anterior Este tema ha sido visto 3859 veces y tiene 8 respuestas Tema Siguiente
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

Aquí dejo código que lee todas las categorías. Comparándolo con el que está en la sección de codigo útil ¿Cual os parece mejor?

<%@page buffer="none" session="false" import="java.util.*" %>
<%@ page import="org.opencms.file.CmsObject"%>
<%@ page import="org.opencms.jsp.CmsJspActionElement"%>
<%@ page import="org.opencms.main.CmsException"%>
<%@ page import="org.opencms.file.CmsFolder"%>
<%@ page import="org.opencms.file.CmsFile"%>
<%@ page import="org.opencms.file.CmsProperty"%>
<%@ page import="org.opencms.frontend.templateone.CmsTemplateBean"%>
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>

CmsJspActionElement action = new CmsJspActionElement(pageContext,request,response);
CmsObject cms = action.getCmsObject();
try {
List listFolders =cms.getSubFolders("/system/categories/...");
CmsFolder cmsfolder= null;
for(int i=0;i<listFolders.size();i++){
cmsfolder=(CmsFolder) listFolders.get(i);

// Ahora cojo la propiedad de la categoria que me interese mostrar, p.ej.
CmsProperty property = cms.readPropertyObject(cmsfolder, "Title", true);
String titulo = property.getValue();
String tituloReq = java.net.URLEncoder.encode(property.getValue(), "ISO-8859-1");
String nombre = java.net.URLEncoder.encode(cmsfolder.getName(), "ISO-8859-1");

%>
Nombre categoria: <%=nombre%>
Titulo Categoria: <%=titulo%>
<% out.println("<br>");
}
}catch (CmsException e) {
out.println(e);
}%

Salu2!
[29-sep-2009 12:05:44] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [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: Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

Pues, para empezar, veo que tu código está un poco desfasado, ten en cuenta que las categorias a partir de la 7.5 se pueden situar en cualquier carpeta de OpenCms, incluido en los sites, por lo que lo mejor es que las categorias sean una parte más de un site.

Yo para manejar categorias sigo prefiriendo usar el código específico de Categorias: CmsCategoryService.

Saludos.
----------------------------------------
---------------------------------------------------
Sergio Rapos Vargas.
Administrador de OpenCmsHispano.
sergio.raposo@opencmshispano.es
[02-oct-2009 10:21:11] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Re: Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

Muchas gracias por tu respuesta Sergio. No obstante, te planteo una duda relacionada. Resulta que a la hora de crear un campo desplegable para mis tipos de contenido, donde se pueda seleccionar estas categorías de las que hablamos, yo lo hago añadiendo al esquema de mis contenidos lo siguiente:

<xsd:complexType name="OpenCmsPublicacione">
<xsd:sequence>
...
<xsd:element name="Tematica" type="OpenCmsString" minOccurs="1" maxOccurs="unbounded"/>
...
</xsd:sequence>
<xsd:attribute name="language" type="OpenCmsLocale" use="required"/>
</xsd:complexType>


...

<layouts>
<layout element="Tematica" widget="CategoryWidget" configuration="category=categoriasCVOT/Publicaciones|keyprefix=itemcategory" />
</layouts>


De manera que así puedo indicar que, de la carpeta Categories situada en el raiz de OpenCms, se lean las carpetas y subcarpetas pertenecientes a las categorias y se muestren como las opciones del campo Temática, para seleccionar una categoría. No sé si me he explicado bien.

Etonces, ¿Usando tu código , el schema de mis tipos de contenido cambiaría en algo?

Salu2!
[05-oct-2009 9:52:01] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [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: Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

No, para nada, tu lo que quieres es escoger desde un recurso las categorias a mostrar, no?? en principio no veo ningún impedimento
----------------------------------------
---------------------------------------------------
Sergio Rapos Vargas.
Administrador de OpenCmsHispano.
sergio.raposo@opencmshispano.es
[05-oct-2009 16:16:20] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Re: Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

Pero ten en cuenta que los nombres de las categorías las obtengo de la carpeta "Categories" situadas en /system/categories/, y si dices que las categorias puedan estar dentro del site en algo debe cambiar, puesto que ahora van a estar en /nombreDeMiSitio/Categorias por ejemplo, ¿no?
[05-oct-2009 17:16:39] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [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: Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

Tal y como cuento el articulo

http://www.opencmshispano.es/nav/blog/articulo_0011.html

No tienes que hacer nada, con que la carpeta esté en el raiz de tu sites y se llame /_categories/ lo va a pillar solo

Saludos.
----------------------------------------
---------------------------------------------------
Sergio Rapos Vargas.
Administrador de OpenCmsHispano.
sergio.raposo@opencmshispano.es
[14-oct-2009 17:37:49] Mostrar la Versión Imprimible        Send Private Message [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Re: Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

Hola Sergio, al final voy a optar por utilizar los servicios de OpenCms para administrar las categorías y hacer que formen parte de mi sitio únicamente. No obstante, he observado que el método que empleas en el código que has subido parece que ha sido "Deprecado" (readSubCategories), por si te interesa corregirlo. De todas formas, si no os limitais a copiar y pegar el código y mirais en la Api, aquí mismo dice que se utilice el método readCategories.

Gracias por el código.

Salu2!!!
[27-oct-2009 17:59:04] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [Enlace] Reportar mensaje ofensivo: por favor inicie sesión primero  Ir al inicio 
Masculino karakulak
Member


País
Ingresó: 31-ago-2009
Mensajes: 56
Estado: Desconectados

Re: Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

Hola, tengo una duda del código en que se emplea la clase CmsCategoryService. La variable PATH_CATEGORIA qué ruta contendría?? He probado:

/_categories/Mi_Carpeta_De_Categorias
/_categories/Mi_Carpeta_De_Categorias/
/_categories/
Nombre_DE_Mi_Sitio/_categories/Mi_Carpeta_De_Categorias
/Nombre_DE_Mi_Sitio /_categories/Mi_Carpeta_De_Categorias
...

Y en ningun caso me encuentra las categorias. Sin embargo, si utiizo como ruta: System/cdategories si, pero entonces ya no lee las categorias propias de mi sitio, ¿alguna idea?

Salu2!
[28-oct-2009 9:23:16] Mostrar la Versión Imprimible        Send Private Message    Oculto a Invitados [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: Listado de las categorías que tenemos definidas para nuestro sitio Responder a este mensaje
Responder citando

seria el path directamente de la categoria, sin el _categories

Saludos
----------------------------------------
---------------------------------------------------
Sergio Rapos Vargas.
Administrador de OpenCmsHispano.
sergio.raposo@opencmshispano.es
[07-nov-2009 19:26:55] 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]