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.

  2 Responses to “SPIP: adaptación del plugin Publication Ouverte (openPublishing)”

  1. Y habeis probado Open Publising en un sitio con SPIP 2.0, no funciona, no?

  2. No, no lo hemos probado.

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

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