Crear un portal en OpenCMS8: 4.Crear el contenido del portal

En esta entrada vamos por fin a ver nuestros resultados si hemos seguido bien los pasos. Es la hora de crear la estructura del portal y sus contenidos. PAra nuestro caso vamos a crear la siguiente estructura:

  • index.html como el contenedor de la página principal.
  • .content del tipo «content_folder»
  • .content/.config como la configuración del sitio del tipo de contenido «sitemap_config»
  • .content/.new como la configuración para los nuevos contenidos. Es opcional.
  • _categories con tantas carpetas y subcarpetas como categorías deba de tener los contenidos del portal. Es opcional
  • 1lauva del tipo de contenido subsitemap
  • 11historiaypatrimonio
  • 12rectorado
  • 13vicerrectorados
  • 2estudios
  • 3investigacion
  • 4internacional
  • 5comunidad
  • 6empresaeinstituciones
  • 7vida

Con esta estructura ya podemos hacernos una idea de cómo crear el árbol de contenidos de la página.


1.Antes de todo, como queremos usar únicamente nuestro template, tenemos que definir la propiedad template para los tipos de contenido de las páginas de contenedores o «container-page». Si no lo hacemos nos dirá que está usando un default-template y no nos mostrará las páginas tal y como hemos creado el template. La opción más sencilla es la que os presento, pero la otra opción es por cada página que creemos definir la propiedad template como «/system/modules/es.uva.web.portal.template/templates/main.jsp» en nuestro ejemplo. Para evitar esto, y dejarlo fijado, debemos entrar en el sistema y en la carpeta config de OpenCMS editar el fichero opencms-modules.xml. En él buscaremos el tipo de contenido «container-page» y le dejaremos como indicamos a continuación:
[code]
<type class=»org.opencms.file.types.CmsResourceTypeXmlContainerPage» name=»containerpage» id=»13″>
<properties>
<property>
<name>template</name>
<value type=»shared»><![CDATA[/system/modules/es.uva.web.portal.template/templates/main.jsp]]></value>
</property>
</properties>
<param name=»formatter_gallery_preview»>/system/workplace/editors/ade/container-preview-formatter.jsp</param>
</type>
[/code]
2.Emprezaremos con los niveles 0, que serán carpetas de contenido subsitemap. Crearemos las 7 carpetas, con nombre, título y texto de navegación.

3.Después de los niveles 0, crearemos carpetas normales para los niveles 1.

4.Dentro de cata carpeta (niveles 0 y 1) crearemos un fichero index.html de tipo «container page».

5.En /sites/default si tenemos un index.html debemos cambiar la propiedad template a «/system/modules/es.uva.web.portal.template/templates/frontpage.jsp». Si no existe le creamos como container-page y le cambiamos la propiedad.

Con estos pasos ya tenemos la estructura de la página y a llegado la hora de rellenar esas páginas con contenidos.

Si previsualizamos en /sites/default el contenedor index.html tendremos algo como lo que se ve en la imagen, con un icono redondo arriba a la derecha. Ese botón activa la edición directa (ADE). Si no nos aparece el botón es que no estamos autenticados en Opencms.

Página inicial sin contenidos

A continuación, pulsamos ese botón y nos aparecerá un menú en la parte superior. Tras pulsar la «varita» nos aparecerán los tipos de contenidos que tenemos. Al elegir texto, a la derecha nos aparece un cuadrado sobre el que al pulsar y mantener pulsado el botón podemos arrastrarlo a nuestra página al lugar que queramos. En la página principal tenemos dos columnas, y en las páginas del árbol de contenidos sólo tenemos una. Podéis ver la secuencia en las imágenes.

Con lo visto hasta ahora podemos crear ya nuestro portal, rellenando los contenedores de las páginas.

10 comentarios en “Crear un portal en OpenCMS8: 4.Crear el contenido del portal”

  1. Gracias, fantastico tutorial. Lo segui paso a paso y funciona todo perfecto, pero tengo un problema, al final no me aparece el menu de debajo del logo(lauva estudios investigacion internacional comunidadu…), el resto de la pagina aparece perfecto, pero no me sale ese menu(creo que es nav_main.jsp).¿alguna suguerencia?
    Gracias

    1. Me alegro que sirva de ayuda.

      Efectivamente el problema seguro que está en el nav_main.jsp, y con gran probabilidad en el bucle que saca los elementos del menú. ¿Has comprobado que tengan la propiedad NavText los elementos del menú? Suele ser el despiste habitual. Si no es eso, habría que modificar el jsp para ver porqué no te está devolviendo ningún elemento.

      1. Yo tengo el mismo problema, y aunque revisé que tuvieran la propiedad «Nav text» tanto la carpeta de nivel 1 como su página index no veo porqué no pinta el desplegable del menú. Alguna idea más? Diste con la solución?

      2. Hola, tengo un problema y necesito ayuda, a la hora de crear un nuevo site no me deja importar y mostrar en su index los tipos predefinidos en OpenCms, es decir, los tipos creados por mi no hay problema, pero los tipos como Text o Image no me deja arrastrarlos y utilizarlos. Si puedes ayudarme te lo agradecería un montón, escríbeme al correo XXXXXX [eliminado]

        1. Revisa si el contenedor donde arrastras los tipos, en los tipos, tienen el nombre. Es decir, en el xsd del schema del tipo en la zona donde se indica el formateador tienes puesto el tipo y a que formateador ha de ir.

  2. Gracias por el fantástico tutorial.

    He seguido éste paso a paso pero me ha surgido un problema a la hora de insertar contenidos en la página de inicio desde el ADE ya que no se me recuadran las zonas punteadas para añadir el nuevo tipo de contenido. He revisado la configuración y no encuentro nada extraño. ¿Alguna sugerencia?

    1. A mi me pasaba lo mismo, y lo conseguí solucionar cambiando el width de los container(leftcontainer,rightcontainer) de frontpage.jsp a 400.

    1. Siempre tienes que crear el contenido en /sites/default, que es el sitio por defecto, a menos que quieras que tu OpenCms sea multisitio y tendrías /sites/sitio1, /sites/sitio2…

Responder a Luismi Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.