-
1 Comment
Si los feeds de SPIP os dan un error como este:
Error de lectura XML: declaración de texto o XML en un lugar distinto del principio de la entidad Ubicación: https://www.tudominio.net/spip.php?page=backend Número de línea 3, columna 1:<?xml version="1.0" encoding="iso-8859-1"?> ^
Lo que ocurre es que las dos primeras líneas se quedan en blanco. Para solucionarlo, en el fichero backend.html hay que borrar la línea:
<?xml version="1.0"[ encoding="(#CHARSET)"]?>
Es decir, que en lugar de:
#CACHE{3600}[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<?xml version="1.0"[ encoding="(#CHARSET)"]?>
<rss version="2.0"
Ponga:
#CACHE{3600}[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<rss version="2.0"
-
No Comments
Cuando los artículos funcionan como eventos, se suelen listar los que tienen una fecha de redacción anterior futura, es decir, los ventos que aún no se han realizado.
Eso lo da el criterio {age_redac<1} si se quieren listar los eventos de hoy y los del futuro, y {age_redac<0} si solo se quieren listar los eventos futuros pero no los de hoy.
Lo mismo valdría para la fecha {age<1}
No obstante, aquí pongo cómo se obtendría la fecha del sistema, en PHP:
<?php $fecha = time(); $dia = date(d); echo 'dia'.$dia; $mes = date(m); echo 'mes'.$mes; $year = date(Y); echo 'año'.$year; ?>
-
No Comments
Por defecto, SPIP en los listados no muestra las secciones vacías para evitar que el usuario llegue a callejones sin salida, vistas en las que no hay nada.
Sin embargo, es posible modificar ese comportamiento.
Para ello está el criterio {tout}.
Si se quiere que un menú muestre las secciones vacías:
<BOUCLE_secciones(RUBRIQUES){id_parent}{par num titre, titre}{tout}>Si dentro de ese bucle se quiere hacer un tratamiento distinto para secciones vacías y no vacías se puede usar la sintaxis “if” en SPIP, o bien un if en PHP, o en javaScript, etc. Algo de este tipo:
if (“#STATUT”==”publie”) {bla bla bla;}
else {bla bla ba;}Con esto se consigue navegar hacia la sección vacía, pero al invocar un esquerelo rubrique para una sección vacía SPIP dará un error 404.
Para evitar ese error, en el bucle pincipal de la rubrique, el del esqueleto rubrique, también tiene que tener el criterio {tout}:
[(#REM) Un cache plus court, pour la boucle syndic_articles ]#CACHE{3600} <BOUCLE_principale(RUBRIQUES) {tout} {id_rubrique}> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0...bla bla bla -
No Comments
Según la configuración del navegador, los ficheros mp3 se desacargan o se abren y empiezan a sonar.
Si se desea forzar la descarga, es decir, que independientemente
de la configuración del cliente
el fichero mp3 o ogg se descargue,
hay que añadir esta línea en el fichero.htaccess:
AddType application/octet-stream .mp3 .ogg
-
1 Comment
En edulibre.info han realizado una integración PBM+SPIP con la que se puede crear un portal bibliotecario y mediateca para una escuela en Internet.
-
No Comments
No funciona aunque se configure por GUI en Preferencias o Configuración de las cuentas.
La solución es editar el fichero /home/quiensea/.mozilla-thunderbird/loquesea.default/prefs.js y en él poner una nueva línea:
user_pref(“mail.mdn.report.enabled”, true);La recepción de tal notificación de acuse de recibo depende del gestor de correo del destinatarix. No todos los gestores lo tienen. Si no lo tienen, el acuse de recibo será obviado.
Esto funciona en Ubuntu 8.10. En Ubuntu 9.04 no.
Para Thunderbird sobre Windows XP supongo que habrá que buscar el fichero de configuración prefs.js y hacer lo mismo.
-
No Comments
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.
-
No Comments
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.
-
No Comments
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
-
No Comments
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}>
