SPIP ecureuil




Tema di questo forum:

Creare un plugin



Luca
Creare un plugin
20 ottobre 2007 18:15

Ciao a tutti. Sto cercando di scoprire come fare a creare plugin per SPIP. Sul sito e su spip-contrib ci sono due guide, ma sono decisamente insufficienti, come d’altronde tutta la documentazione non francofona. Inoltre, il sito doc.spip.org è piuttosto scarno (e sempre unicamente in francese).

Sapete dove possa trovare della documentazione sensata in inglese (non pretendo l’italiano) sulla realizzazione di plugin? Conoscete dei plugin semplici da "smontare" per cercare di capirci qualcosa? Grazie!

Cercare nei forum:
 

Renato
31 ottobre 2007 12:15
Creare un plugin

Quello che posso fare è darti una panoramica sui plugin.

I plugin possono modificare il comportamento di SPIP in 3 modalità principali:

  1. le pipeline
  2. l’override
  3. file di funzioni e di opzioni

Le pipeline

Come dice il nome, sono dei "tubi", da cui entra una variabile che ne esce poi modificata. I plugin possono registrarsi ad una certa pipeline e modificarne i contenuto.

Quando SPIP esegue una pipeline, invia la variabile di partenza a tutti i plugin che si sono dichiarati interessati, i quali elaborano questa variabile e la restituiscono a SPIP.

L’elenco delle pipeline lo puoi trovare direttamente nel codice nel file "ecrire/inc_version.php" alla variabile $spip_pipeline.

Quando possibile è sempre meglio utilizzare una pipeline invece dell’override.

L’override

L’override è una tecnica per cui, se creo un file presente in una cartella di ecrire in una cartella con lo stesso nome, ma stavolta all’interno della cartella del mio plugin, quest’ultimo verrà letto al posto di quello originale di SPIP.

Es: se voglio modificare il file ecrire/exec/articles.php, posso crearne una copia in mio_plugin/exec/articles.php e modificare quest’ultima, in modo da non sovrascrivere il core di SPIP.

Questa tecnica, sebbene molto potente, può risultare non lungimirante, in quanto versioni successive di SPIP potrebbero modificare il codice del file di cui si è fatto l’override, e quindi il plugin potrebbe non riportare le modifiche introdotte dalla nuove versione.

I file di funzioni e di opzioni

Sono 2 file che possono contenere nuove funzioni o variabili per introdurre nuovi filtri, nuovi segnaposti etc

Il file delle funzioni va dichiarato nel file plugin.xml all’interno del tag e viene caricato quando SPIP calcola un modello, quindi non ad ogni hit.

In questo file vanno dichiarati i filtri, i nuovi segnaposti, nuovi cicli, tutto ciò che concerne il calcolo dei modelli

Il file delle opzioni va dichiarato all’interno del tag e viene caricato, invece, ad ogni hit. Può essere utile per modificare una variabile di configurazione di SPIP o per tutto il codice che deve essere a disposizione anche dall’interfaccia redazionale.

Modelli aggiuntivi

Un plugin può essere utilizzato anche per mettere a disposizione dei modelli aggiuntivi, semplicemente creando il modello "mio_modello.html" nella cartella del plugin. Quindi sarà possibile richiamare il modello dal sito pubblico come "www.mio_sito.it/?page=mio_modello"

Ti ho dato un’infarinatura :)

Per i plugin puoi dare un’occhiata a spip-zone, in particolare alla cartella plugin_template

Per dati degli esempi dovrei sapere cosa devi fare in particolare, dato che un plugin può modificare praticamente ogni aspetto di SPIP.

In ogni caso provo a darti dei link di plugin da me scritti:

RSS






modello di layout