Blog de Dabne Tecnologías de la Información

Hablamos de las cosas que nos interesan: tecnologías web, formación, software libre, Ruby on Rails, Spip, ….
  • Cómo poner una agenda y calendario en un sitio SPIP

    Poner una agenda y un calendario en un sitio SPIP no es supercomplicado pero tiene su dificultad. Por ello, publicamos estas notas de ayuda, como amplicación del artículo sobre el plugin Agenda, de Cedric Morin.

    1.- Instalar el plugin agenda

    Instalarlo de la manera habitual, y activarlo.

    2.- Instalar el plugin calendario

    Instalarlo de la manera habitual, y activarlo.

    3.- Asociar eventos a los artículos

    Para poder hacer pruebas ha de haber algunos eventos. Así que hay que editar algunos artículos y añadir eventos.

    A partir de ahí, la página ?page=agenda mostrará una página con la agenda de eventos.

    En cualquier esqueleto, se puede poner un enlace a la genda con:

    <a href=”#URL_SITE_SPIP/?page=agenda”>Agenda</a>

    La vista de la agenda se controla con la hoja de estilo /img_pack/agenda.css, del directorio del plugin agenda.

    4.- El bucle EVENEMENTS

    Relacionado con la agenda, el bucle EVENEMENTS se puede colocar en cualquier esqueleto. Pero como los eventos están asociados a artículos, depende de si se pone o no el criterio {id_article} que aparezcan todos los eventos o solo los relacionados con el artículo del contexto.

    En el bucle EVENEMENTS, <a href=”#URL_ARTICLE”>#TITRE</a> enlaza con el artículo asociado al evento, siendo #TITRE el título del evento.

    Ejemplo de bucle EVENEMENTS (sin HTML):

    <BOUCLE_agenda(EVENEMENTS){age<0}{par date}{statut=publie}>
    <a href=”#URL_ARTICLE”>#TITRE</a>
    [(#DATE_DEBUT|Agenda_affdate_debut_fin{#DATE_FIN,#HORAIRE})]
    #LIEU
    #DESCRIPTIF
    </BOUCLE_agenda>

    5.- El calendario

    El calendario se inserta con la baliza:

    #CALENDRIER_MINI{#ENV{date},’date’,#SELF}

    En principio el calendario está pensado para mostrar los eventos de un artículo, por lo que solo “funcionará” en el esqueleto articles.html, mostrando los eventos asociados al artículo activo (el que da el contexto).

    Si se quiere que el calendario muestre todos los eventos, entonces hay que modificar el fichero calendrier_mini.hmtl, del directorio formulaires del plugin agenda, y cambiar la línea:

    {id_article}{id_mot?}

    por:

    {id_article?}{id_mot?}

    Si se desea que el calendario enlace con el artículo asociado al evento, entonces hay que modificar el fichero calendrier_mini.hmtl, del directorio formulaires del plugin agenda, y cambiar la línea:

    #DESCRIPTIF,#LIEU

    por:

    #DESCRIPTIF,#LIEU,#URL_ARTICLE

    Solo he conseguido que aparezca el primer evento de ese día. Si hay más de un evento para el mismo día sólo se muestra y se enlaza con el primero.

    Otra opción, en lugar de modificar el fichero, es crear un directorio formulaires en el directorio squelettes, y poner ahí una copia personalizada de calndrier_mini.hmtl.

    6.- Estilos para el calendario

    Para aplicar estilos al calendario hay que mirar las class que aplica SPIP y, en la hoja de estilos que se esté usando, definirlos.

    Por ejemplo:

    td.libre {
    color: green;
    }

    td.occupe a {
    color: red;
    }

    td.today {
    background-color: blue;
    }
    Y eso es todo.

    Tengo pendiente mirar este otro plugin, para convertir un artículo en un evento.

    7. Ayuda

    En este artículo puede verse cómo instalar un plugin.

    Y aquí hay muchos plugins.

    Published on Mayo 7, 2008 · Filed under: SPIP;
    1 Comment

One Response to “Cómo poner una agenda y calendario en un sitio SPIP”

  1. Muy necesario este post, llevaba un buen rato trasteando, malentendiendo artículos en frances, pero gracias a este vuestro parece que al final ya me funciona la agenda y se muestra correctamente. Solo una corrección :

    Si pongo
    #TITRE no me envia a la dirección correcta, he de quitarle las comillas.
    Gracias!

Leave a Reply