El viernes 10 de abril se publicó en el diario Público una entrevista a nuestra compañera de Dabne Margarita Padilla.

Ingeniera informática y ex Directora de la revista Mundo Linux, Margarita Padilla pertenece a esa escasa minoría de mujeres capaces de crear y mantener sistemas, y le gusta decir que trabaja “haciendo Internet”. Junto a otros hackers, fundó Sindominio.net. Aprendió GNU/Linux y los usos sociales y políticos de las nuevas tecnologías en centros sociales okupados. Algo que en la Universidad nunca le enseñaron.

leer la entrevista completa

 

En un sitio web queríamos utilizar el plugin openPublishing para que los lectores propusieran artículos en dos secciones distintas: cartas al director y agenda de actividades.
Como este plugin solo se puede configurar “globalmente” teniamos dos problemas:

  • Daba al lector opción de elegir la sección en la que publicar, mientras que nosotras queríamos que la publicación fuese directamente a una u otra sección.
  • Aparecían todos los campos permitidos en la configuración en los dos casos, mientras que nosotras queríamos que en un caso apareciesen unos y en otro, otros.

En realidad, lo que necesitábamos era que un único plugin funcionara de dos modos distintos. La solución que adoptamos fue crear dos balizas distintas.

Explicación

1. Configuramos openPublishing con todas las secciones y campos que necesitábamos (unión de los dos casos).

2. Copiamos /plugins/openPublishing/formulaires/formulaire_article.html como formulaire_carta.html. ¡Alerta con elegir un nombre que no sobreescriba ninguno de los ficheros del plugin!

3. Copiamos /plugins/openPublishing/balise/formulaire_article.php como formulaire_carta.php.

4. Editamos formulaire_carta.php sustituyendo:

return array('formulaires/formulaire_article'

por:

return array('formulaires/formulaire_carta'

Y tambien #FORMULAIRE_ARTICLE por #FORMULAIRE_CARTA en estos trozos de código:

function balise_FORMULAIRE_CARTA ($p) {

        $p = calculer_balise_dynamique($p,'FORMULAIRE_CARTA',array());
        return $p;
}
...
function balise_FORMULAIRE_CARTA_stat($args, $filtres) {

        return ($args);
}
...
function balise_FORMULAIRE_CARTA_dyn() {

En total hemos hecho cinco sustituciones.

5. Editamos formulaire_carta.html para adaptarlo a nuestras necesidades. En nuestro caso:

  • Comentar los campos que no se usan (o eliminarlos). Ejemplo:
<!-- no se usa surtitre
[(#CONFIG{op/SurTitre,''}|=={yes}?{
 <fieldset><legend><:opconfig:publie_surtitre:>(<:opconfig:optionel:>)</legend>
   <input type="text" name="surtitre" value="[(#ENV**{surtitre})]"
     size="70" maxlength="80"></p>
   <:opconfig:explication_surtitre:>
</fieldset>
})]
-->
  • Cambiar algunos tipos de campo en el formulario. Por ejemplo, no damos opción a elegir la sección:
<input type="hidden" name="id_rubrique" value="43" > <!-- seccion cartas-->

6. Con esto ya tenemos disponible la baliza #FORMULAIRE_CARTAS para usarla dentro del esqueleto.

7. Repetir estos cambios para crear otra baliza distinta (en nuestro caso #FORMULAIRE_EVENTOS).

Y así conseguimos personalizar el plugin openPublishing (Publication Ouverte) para adaptarlo a dos usos distintos.

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