Publicado el 24 de Agosto de 2009 por Marga
Cuando se pincha en una fecha del minicalendario de la agenda Sarka_SPIP, se muestra el primer evento del día.
Queríamos que, en lugar de mostrar el primer evento del día, los mostrase todos.
Para ello, prescindimos de la página evenements.html y creamos una propia: eventos_dia.html.
En eventos_dia.html pusimos un bucle con los artículos cuya #DATE_REDAC fuera la de una fecha determinada. El problema era que #DATE_REDAC almacenta la fecha y la hora del evento, pero solo queríamos la fecha, por lo que teníamos que “limpiar” la hora.
Eso lo hicimos con la función substr de PHP:
<BOUCLE_evenements(ARTICLES){id_rubrique=**la de la agenda**}>
<?php
$fecha_redaccion=substr("#DATE_REDAC", 0, 10);
if ($fecha==$fecha_redaccion) {
?>
Aquí el código del bucle
<?php
}
?>
</BOUCLE_evenements>
Además, teníamos que hacer que el minicalendario pasase la fecha en la url, pero también habiendo eliminado la hora.
En el fichero agenda.php, en la function agenda_mini_afficher, a la variable $lien se le asigna la url del enlace del minicalendario.
Modificamos la asignación a $lien por esto:
// extraigo la fecha omitiendo la hora
$fecha=substr(($evenements[$index_evt1]['date_redac']), 0, 10);
$lien = 'spip.php?page=eventos_dia'.'&fecha='.$fecha;
En resumen: en agenda.php modificamos la url del mini_calendrier para que apunte a una página propia y le pase la fecha del calendario.
Y en la página propia filtramos los artículos de la agenda cuya fecha de redacción es esa fecha. Teniendo en cuenta que para comparar ambas fechas hemos tenido que “quitarles” la hora.
El resultado puede verse en el periódico Diagonal Aragón.
Archivado en SPIP | No hay comentarios »