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.

 

En la ayuda de la interface de administración (botón Ayuda en línea), algunos enlaces no funcionan.

Por ejemplo, el enlace a “más información acerca de las listas” del apartado  Los artículos -> Los atajos tipográficos.

Si se mira esa url se verá que es de la forma:

http://www.dabne.net/aide/es-aide.html#listes

El problema es que esta url no existe porque, como puede verse en cualquier url de la columna izquierda, estas son de la forma:

http://www.dabne.net/ecrire/?exec=aide_index&aide=&var_lang=es&frame=menu

La solución consiste en editar el fichero de ayuda y modificar las url.

El fichero es:

tmp/cache/aide-es-aide.html

Hay que buscar las url del tipo:

<a href='/aide/es-aide.html#listes'>

Y cambiarlas por:

<a href='#listes'>

Eso es todo.

 

En nuestro caso, en un sitio hecho con Spip, no podíamos activar los plugins recién instalados, apareciendo el código de error 403. Incluso dando permisos a las carpetas que los contenían, por ftp.

Algunos foros recomiendan borrar las carpetas /tmp/cache y /tmp/sessions y volverlas a crear dándoles permisos de lectura y escritura para todxs. Así lo hicimos, pero no funcionó. También llegó un momento en que no podíamos ver ni el espacio público, sólo el privado….

Este error 403 se produce cuando no se tiene permiso para acceder a una página. Estos permisos están configurados en directivas dentro del archivo de configuración principal de Apache (httpd.conf, típicamente en una sección del tipo <Directory>), o en archivos de configuración por directorios (archivos .htaccess).

En nuestro caso, el archivo .htaccess había sido desconfigurado.

Solucionamos el asunto escribiendo esta línea en el archivo .htaccess de la raíz del sitio:

SecFilterEngine Off
 

Para hacer un calendario de eventos en la parte pública de  Spip 1.9.x.

(tomada de la plantilla  Sarka-spip)

Hacen falta los ficheros (adjuntos):
* agenda.php
* mes_fonctions.php
* mini-agenda.html (el calendario en pequeño)
* agenda.html (todos los eventos de la agenda)
* evenement.html (que en nuestro caso es idéntico a article.html pero la fecha que hemos puesto que aparezca es la fecha de redacción anterior, que es la que aparece en el calendario)

Para hacer funcionar la agenda:
* Hay que crear una sección que contendrá los eventos.
* Se crea un grupo de palabras clave llamado “squelette_habillage”
* Y en este grupo, se crea la palabra clave “agenda”.
* Esta palabra se asocia a la sección en cuestión (no hace falta ya asociarla a los artículos dentro).
* Al publicar un artículo dentro de esa sección, hay que especificar la “fecha de redacción anterior” que es la que aparece en el calendario.

Ahora todos los artículos que haya dentro de esta sección serán considerados como eventos, aunque siguen siendo artículos y como tal se editan.
El día que tenga un evento o más aparecerá en otro color en el calendario.

Para incluir un mini-calendario en la web hay que incluir el código con parámetros en el lugar donde queremos que aparezca:
[(#NOOP) <!-- affichage du mini-agenda --> ] <BOUCLE_acces_agenda(RUBRIQUES) {id_rubrique=#RUBRIQUE_AGENDA}> [(#RUBRIQUE_AGENDA|=={0}|?{'', ' '})<INCLURE{fond=mini-agenda}{id_article}{id_rubrique}{calendrier_mois}{calendrier_annee}>] </BOUCLE_acces_agenda>

Si hay inclures dentro de otras inclures en esqueletos, hay que tener cuidado con las relaciones. En nuestro caso teníamos los esqueletos de sommaire, secciones y artículos con una columna izquierda donde a su vez estaba incluida la agenda. Por lo tanto el código anterior está puesto en la col-izq, que es desde donde se llama a la agenda.

Además, en el sommaire y en las secciones, se ha escrito:

<INCLURE(page.php3){fond=col_izq}{id_rubrique=#ID_RUBRIQUE}{calendrier_mois}{calendrier_annee}>

En los artículos:

<INCLURE(page.php3){fond=col_izq}{id_article=#ID_ARTICLE}{calendrier_mois}{calendrier_annee}>

 

Según leo en la lista de SPIP, para que SPIP no nos obligue a tener los
directorios IMG, tmp, local y config en 777 (es decir, completamente
abiertos), hay que tener el PHP en modo CGI y no en Apache.

 

Para incrustar vídeos propios

Instalar el plugin Lecteur_multimedia (SPIP 1.9 y 2.0).

Con el plugin instalado, subir el vídeo como si fuera un documento (no imagen ni adjunto, sino documento, en el formulario de la izquierda) y luego, una vez subido, en el artículo poner algo tipo esto:

<docX|player>

Donde la X es el número del documento.

Incrustar vídeos de YouTube con thumbnail

Para inscrustar un vídeo de YouTube basta con copiar y pegar en un artículos el código que ofrece YouTube para tal fin.

Ese código tendrá un aspecto parecido a este:

<object width="425" height="344"><param name="movie"
value="http://www.youtube.com/v/LOt-UkTLZGc&hl=es&fs=1&">
</param><param name="allowFullScreen" value="true">
</param><param name="allowscriptaccess" value="always">
</param><embed src="http://www.youtube.com/v/LOt-UkTLZGc&hl=es&fs=1&"
type="application/x-shockwave-flash" allowscriptaccess="always"
allowfullscreen="true" width="425" height="344"></embed></object>

Si se quiere que el vídeo se empiece a reproducir automáticamente,

en el código anterior añadir al final de la  url &autoplay=1

Si, en lugar de mostrar la ventan con el vídeo, se quiere poner un thumbnail del vídeo, entonces hay que descargar ese thumbnail de YouTube.

La url para descargarlo se tiene que construir a partir de la del vídeo (su “value” o su “src”).

Para el caso del vídeo anterior, el thumbnail seria este:

http://img.youtube.com/vi/LOt-UkTLZGc/default.jpg

Se tiene que subir como imagen y, por ejemplo, desde esa imagen se puede enlzar con otro artículo que tenga el código que incrusta el vídeo.

 

Se pueden desactivar las peticiones AJAX de la interfaz de administración de SPIP  haciendo que no se cargue jquery.js.

Para ello, hay que modificar el fichero ecrire/inc/filtres.php, en concreto la función  function f_jQuery, por ejemplo comentado estas líneas:

//  $texte = "\n<script src=\"".generer_url_public('jquery.js')
//  . "\" type=\"text/javascript\"></script>\n"
//  . $texte;

Con ello, en la interfaz de administración no se insertará la línea:

<script src="http://www.dabne.net/spip.php?page=jquery.js" type="text/javascript">
</script>

en el <head> de la interfaz de administración.
 

La baliza #LOGO_ARTICLE visualiza el artículo. Pero, si necesitamos la url del logo, podemos obtenerla así:

[(#LOGO_ARTICLE||extraire_attribut{src}|url_absolue)]

o así:

"IMG/[(#LOGO_ARTICLE|fichier)]"
 

En un sitio SPIP, los logos estaban a un ancho de 80 con:

[(#LOGO_ARTICLE||inserer_attribut{'alt',#TITRE}
||image_reduire{80})]

Al quererlos poner a un ancho de 100 con:

[(#LOGO_ARTICLE||inserer_attribut{'alt',#TITRE}
||image_reduire{100})]

ocurría que no aparecían, o sea, SPIP no encontraba la nueva viñeta.
Al vaciar la caché de imágenes calculadas automáticamente, el tamaño de la caché no se ponía a cero.

La solución fue renombar el directorio local a otro nombre (por ejemplo, local_old) y crear un nuevo directorio local vacío.

 

En Dabne necesitamos alguien que colabore con nosotras para tareas de
mantenimiento de ordenadores de escritorio con GNU/Linux (Ubuntu
principalmente) y algún windows. Sería presencial en Madrid, más o menos
media jornada.
Si te interesa o conoces a alguien que le pueda interesar ponte en contacto con nosotras, por favor.

Blog de Dabne || Web de Dabne Suffusion theme by Sayontan Sinha