SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 144 visiteurs en ce moment

Home page > Strumenti per i Plugin > Tutoriaux pour Plugins > SPIP 1.9 - I plug-in

SPIP 1.9 - I plug-in

2 aprile 2006 – di Fausto Barbarito

Tutte le versioni di questo articolo: [Español] [français] [italiano]

Il sistema di plug-in è stato reintrodotto nella versione 1.9alpha. Sostituisce il sistema precedente di plugin che era stato testato nella fase di sviluppo della 1.8 e poi tolto (vedi OldSystemPlugin)

Installare i plug-in

La descrizione del funzionamento di plugin è applicabile a partire dalla release 5616

Attivare la gestione dei Plug-in
La gestione è attivata a partire dal momento in cui è presente una cartella “plugins” nella radice del sito (in aggiunta a ecrire, IMG, dist....)
Il pulsante di amministrazione dei plugins é nel menu Configurazione, e appare solo se è selezionata l’interfaccia completa, e solo per gli amministratori.

Installare un plug-in
I plugin sono disponibili per il momento su spip-zone nella cartella _plugins_
Con SVN si può fare un checkout di _plugins_ sulla cartella locale dei plugins per installare tutti i plugins disponibili, o copiare semplicemente le cartelle di plugins che interessano nella propria cartella plugins. non attiva il plugin

L’installazione nella cartella non attiva il plugin.

Attivare un plugin
Nel menu Configurazione, Amministrazione di plugins SPIP rileva dunque tutti i plugins installati e ne visualizza la lista.
Su ogni plugin un > mobile permette di fare apparire i dettagli concernenti il plugin in questione (versione, cartella, autore, descrizione, link alla home page del plugin).
Evidenziare la casella “Attivare il plugin” per attivare un plugin e validarlo.
Quando diversi plugin sono attivi, appaiono nell’ordine di caricamento. É possibile modificare questo ordine con le frecce salire e scendere. Il cambiamento riguarda tutte le funzioni dei plugins.
Quando diversi plugins intervengono sullo stesso trattamento (aggiungere delle icone, formattare un testo ...) sono applicate nell’ordine indicato dalla tabella.
In alcuni casi può dunque essere utile modificare quest’ordine. Ciò non è gestito automaticamente ad oggi.

Quando si pianta tutto
L’attivazione dei plugins passa per una fase di verifica minima di conformità (dichiarazione sufficiente, presenza dei file da includere) ma non è tutto verificabile così semplicemente. Dunque è possibile che un plugin scorretto (soprattutto in questo periodo di sviluppo in cui i soli plugins disponibili sono in piena evoluzione) genera un errore definitivo. Per recuperare il controllo (disattivare manualmente un plugin malgrado l’interfaccia piantata), è sufficiente rinominare la cartella del plugin, o eliminare gli script charger_plugin_xxx.php dalla cartella data, poi tornare sul pannello di configurazione dei plugins.

Creare il proprio plugin

Come creare il proprio plugin:

Crea una cartella ’mioplugin’ nella cartella plugins.
Il plugin sarà riconosciuto da SPIP con l’aiuto del suo file di descrizione plugin.xml :

<plugin>
        <nom> <!-- Nome del plugin -->
        Nulla
        </nom>
        <auteur>        <!-- Autore del plugin -->
        _fil_
        </auteur>
        <version>
        0.1
        </version>
        <etat>
        test
        </etat>
        <description>
        L'unico plugin spip al mondo che non fa nulla, ma lo fa bene!
        </description>
        <options> <!-- file caricato ad ogni hit -->
        mes_options.php
        </options>
        <fonctions> <!-- file caricato ad ogni rigenerazione di pagina -->
        mes_fonctions.php
        </fonctions>
        <!-- classe di implementazione: spazio di nomina che darà il prefisso alle chiamate di funzione
        sul modo Nulla::
        così le funzioni fuori dallo spazio di nomina non possono essere chiamate
        questo parametro è obbligatorio e deve essere non vuoto
        -->
        <prefix>
        Nullo
        </prefix>
        <!-- Definizioni delle funzioni che si inseriscono nelle pipeline -->
        <pipeline>
                <nom>post_propre</nom>
                <action>leFiltre</action>
        </pipeline>
        <pipeline>
                <nom>ajouter_boutons</nom>
                <action>ajouterBoutons</action>
                <inclure>Rien.php</inclure>
        </pipeline>
        <pipeline>
                <nom>ajouter_onglets</nom>
                <action>ajouterOnglets</action>
                <inclure>Rien.php</inclure>
        </pipeline>
        <!-- Il parametro azione è opzionale: se assente il metodo della classe che porta il nome della pipeline viene chiamato. Il parametro inclure è opzionale.        -->
</plugin>

Tag di descrizione:

  • <nom> permette di definire il nome del plugin come appare nel pannello di configurazione.
  • <version> permette di attribuire il numero di versione del plugin
  • <etat> permette di definire lo stato del plugin, tra dev (sviluppo), sperimentale, test, stabile.
  • <auteur> permette di attribuire il o gli autori del plugin. Si possono usare le scorciatoie tipografiche e le stringhe di lingua in questo campo.
  • <description> permette di descrivere ciò che fa il plugin. È possibile utilizzare le scorciatoie tipografiche e le stringhe di lingua in questo campo.
  • <lien> permette di dare un link html verso la homepage del plugin che dia più informazioni sul suo funzionamento.

Tag di implementazione:

  • <options> permette di definire un file che sarà caricato ad ogni hit, come lo stato del file mes_options.php.
  • <fonctions> permette di definire un file che sarà caricato ad ogni ricalcolo di pagina, come lo era il file mes_fonctions.php.
  • <prefix> permette di definire il nome dei prefissi di funzione definiti dal plugin. Per ragioni di coabitazione sana con i suoi piccoli compagni plugin, tutte le funzioni proprie del vostro plugin dovranno cominciare con questo prefisso. Guardate gli esempi del plugin “Rien” per vedere come fare. La sola costrizione è di prefissare le dichiarazioni di funzione e scrivere le vostre chiamate di funzione nel modo $cosa = Nulla_mia_funzione($val);.
  • <pipeline> permette di definire un punto d’inserzione del plugin in una pipeline di trattamento. A tal fine si utilizzano i tag seguenti:
    • <nom> dà il nome della pipeline in cui inserire la chiamate del plugin.
    • <action> dà il nome della funzione da chiamare (senza il prefisso che sarà aggiunto automaticamente da SPIP).
    • <inclure> dà il nome di un file da includere affinché la funzione sia disponibile.

I tag <nom>, <version> e <prefix> sono obbligatori. Gli altri sono opzionali. Non è permesso utilizzare un nome di funzione identico al nome di prefisso (la funzione Nulla_nulla() sarà rifiutata perché è così e basta – per i curiosi ho una lunga storia da raccontare… -), né utilizzare i nomi di funzioni install, uninstall et configure che sono riservati per delle caratteristiche future di facile intuizione.

Per ragioni di performance, si consiglia di suddividere in modo appropriato le funzioni del proprio plugin in file separati, affinché solo le funzioni richieste siano caricate al momento degli INCLUDE

E per ulteriori risposte alle vostre domande non esitate a leggere tutti gli esempi disponibili su spip-zone

Per maggiori informazioni, vedere:

Liste delle pipelines

  • affichage_final ??
  • affiche_droite ??
  • affiche_gauche ??
  • affiche_milieu ??
  • ajouter_boutons aggiunge un pulsante nella barra dei pulsanti. Prende come parametro una tabella che modifica e ritorna:
  • ajouter_onglets aggiunge una linguetta su una pagina, prende una tabella di parametri in entrata:
    • ’data’=> la tabella di linguette,
    • ’args’=> il nome della pagina dalla quale si fa la chiamata
  • body_prive ??
  • exec_init ??
  • header_prive ??
  • insert_head ??
  • nettoyer_raccourcis_typo ??
  • pre_indexation ??
  • pre_syndication ??
  • post_syndication ??
  • pre_typo vedi PointsEntreeIncTexte
  • post_typo vedi PointsEntreeIncTexte
  • pre_propre vedi PointsEntreeIncTexte
  • post_propre vedi PointsEntreeIncTexte
  • agenda_rendu_evenement ??
  • taches_generales_cron ??

P.S.

Nota Spipcontrib : questa lista di pipelines evolve continuamente. Per leggere la lista aggiornata direttamente dal codice, cerca $spip_pipeline nel file «inc_version.php»

Retour en haut de la page

Rispondere all'articolo

Chi sei?

Per mostrare qui il tuo avatar, registralo prima su gravatar.com (gratis e indolore). Non dimenticare di fornire il tuo indirizzo email.

Inserisci qui il tuo commento Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Aggiungi un documento

Retour en haut de la page

Ça discute par ici

  • (fr) Associaspip

    12 septembre 2011 – 67 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Plugin permettant la gestion d’une association incluant les fonctionnalités suivantes : Profil de votre association Gestion des membres (en association optionnelle avec le Plugin Coordonnées et le plugin Champs Extras 2) Gestion des cotisations (...)

  • (fr) Albums

    8 novembre 2011 – 26 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet d’afficher une ou plusieurs galeries d’images au fil du texte, dans les articles et ailleurs. Qui rédige un récit de voyage, par exemple, aimerait pouvoir illustrer son article de plusieurs petites séries de photos, une par jour. Or (...)

  • (fr) Maparaan (Squelette)

    21 mars 2011 – 150 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un squelette principalement pour les sites de type blog. Présentation : Adaptation pour Zpip du thème Wordpress Maparaan conçu par Padd Solutions. Voir une démo du thème et du squelette Maparaan. Ce squelette a été conçu pour le thème du même nom. Pour (...)

  • (fr) MediaBox

    10 mai 2010 – 180 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Aperçu La MediaBox est une Boîte multimédia polyvalente et personnalisable. Le plugin est basé sur la librairie moderne ColorBox, qui a été enrichie et adaptée pour SPIP. Par défaut, mediabox propose 5 habillages. Il est assez facile d’en créer de (...)

  • (fr) Formulaire de contact libre

    27 avril 2011 – 34 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)