Cómo poner una agenda y calendario en un sitio SPIP

Mayo 7th, 2008 | by Marga |

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” mce_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” mce_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” mce_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 calndrier_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.

Post a Comment