«

»

jun
20
2009

Miga de pan con OpenCMS

Después de trastear bastante con OpenCMS vas sacando las ideas comunes que comparten los proyectos, así que se trata de sacar este factor común en forma de elementos reutilizables.

Por la premura de tiempo en los proyectos no siempre es posible optimizar ni poner en práctica aquellas mejoras que diseñamos con respecto a las especificaciones, y es buena práctica ponerlas en marcha en nuestro tiempo libre.

Así que poco a poco intentaré pasar a limpio poniendo en marcha las ideas descartadas y construir un pequeño (o gran) conjunto de elementos que se puedan reutilizar-integrar en nuestros nuevos proyectos.

El primero de estos elementos es la miga de pan que es el camino seguido hasta llegar a la página actual.

Lo único necesario para utilizar este componente en nuestras plantillas es tener definidas las propiedades de navegación (NavText) de los elementos de nuestra web.

Nos dará como resultado un bloque dentro de nuestra plantilla tipo:

Está en: Inicio > ¿Quiénes somos? > Proyectos > Proyecto 1

El código del elemento de la plantilla e_MigaPan es:


<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
<%@ page import="org.opencms.jsp.*" %>
<%@ page import="java.util.*" %>
<!-- Path -->
<div id="migaPan">
<%
CmsJspActionElement cms = new CmsJspActionElement( pageContext, request, response );
String ruta = "";
CmsJspNavElement elementoActual = cms.getNavigation().getNavigationForResource();

if (elementoActual.getResourceName().endsWith(“/index.html”))
     {
      elementoActual = cms.getNavigation().getNavigationForResource(elementoActual.getParentFolderName());
     }
if(elementoActual.getNavText() != null && !elementoActual.getNavText().trim().equals(“??? NavText ???”))
     {
     ruta =  ” > ” + elementoActual.getNavText() + ruta;
     }

while (elementoActual.getNavTreeLevel()>0 )
     {
     elementoActual= cms.getNavigation().getNavigationForResource(elementoActual.getParentFolderName());
     if (!elementoActual.getNavText().trim().equals(“??? NavText ???”))
         {
         ruta = ” > <a href=”" + cms.link(elementoActual.getResourceName())  + “”>” + elementoActual.getNavText() + “</a>” + ruta;
         }
     }
elementoActual= cms.getNavigation().getNavigationForResource(elementoActual.getParentFolderName());
String inicio = cms.link(“/index.html”);

ruta = “Está en: ” + “<a href=”" + inicio + “” > Inicio </a>” + ruta;
out.println(ruta);
%>
</div>
<!– fin Path –>

Ya sólo nos falta añadir a nuestra hoja de estilos los siguientes elementos con la definición acorde a nuestra web:


#migaPan {
}

#migaPan a{
}

#migaPan a:link{
}

…..

Un primer paso para nuestro portal.

Enlace permanente a este artículo: http://blog.jromay.es/2009/06/20/miga-de-pan-con-opencms/

Deja un comentario

Tu email nunca se publicará.

Puedes utilizar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>