|
Indice
| Temas Recientes
| Quién Está en Línea
| Lista de Usuarios
| Nuevo Usuario
| Búsqueda
| Ayuda
| ![]() |
![]() |
mvnForum » Listar todos los foros » Foro: General OpenCms 7 » Tema: Listado de las categorías que tenemos definidas para nuestro sitio |
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 |
|
![]() Member
|
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! |
||
|
![]() Administrador España Ingresó: 27-sep-2006 Mensajes: 2470 Estado: Desconectados |
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 |
||
|
![]() Member
|
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! |
||
|
![]() Administrador España Ingresó: 27-sep-2006 Mensajes: 2470 Estado: Desconectados |
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 |
||
|
![]() Member
|
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? |
||
|
![]() Administrador España Ingresó: 27-sep-2006 Mensajes: 2470 Estado: Desconectados |
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 |
||
|
![]() Member
|
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!!! |
||
|
![]() Member
|
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! |
||
|
![]() Administrador España Ingresó: 27-sep-2006 Mensajes: 2470 Estado: Desconectados |
seria el path directamente de la categoria, sin el _categories Saludos ---------------------------------------- --------------------------------------------------- Sergio Rapos Vargas. Administrador de OpenCmsHispano. sergio.raposo@opencmshispano.es |
||
|
[Versión imprimible] [Publicar nuevo tema] |