À chì prò, creà si un plugin ?

Adattà SPIP à i so bisogni propri, prima di a 1.9

I mudelli, e balise, i cicli è i stacci

Da tanti versi si pò persunalizà SPIP. Sò stati sùbbitu colmi i primi bisogni di persunalizazione cù a gestione di i mudelli, schedari html purtendu si còdice SPIP è assestati in cartulari.

Omu pò creà i so propri mudelli, arrimbendu si à l’elementi standard cum’è e balise è i cicli, elementi ch’omu pò creà è persunalizà quant’omu vole.

Sì bisogna, omu pò scambià a manera ch’ella cumparisce una balisa, aduprendu i stacci, funzioni scritte in php in un schedariu di nome mes_fonctions.php.

In casu chì i vostri bisogni supraneghjinu u quatru di un clàssicu situ cù SPIP (cum’è per esempiu pubblicà artìculi nant’à Internet in cullaburazione frà scrittori), pò tandu diventà necessaria di mudificà una cria, o puru à fondu, u cumpurtamentu di SPIP, o d’aghjunghje nuvelli elementi edituriali, d’accuppià li è di gestisce li à traversu una interfaccia persunalizata, o più ergunòmica.

Mudificà u nòcciulu di SPIP

Per ghjunghje ne à quelle persunalizazioni, venia necessaria di mette in ballu qualchì riscrittura di i schedari di u nòcciulu, vale à dì di mudificà u còdice distribuitu di SPIP. Lege, era lege, bella sicura [1], ma tandu diventava a veghja di l’evuluzioni di SPIP robba pisiva è fastidiosa.

Adattà SPIP à i so bisogni propri, dipoi a 1.9

Toccu a versione 1.9, SPIP inizia un furmalìsimu da permette mudificazione è allargamentu armuniosu di u còdice. A maiò avanzata ne hè a pussibulità di "insità" (è di caccià l’insetu quand’omu vole, senza avè mancu toccu u còdice di u nostru SPIP novu fiammente...) certe megliurenze è mudìfiche varie. Sò cusì tante e pussibulità di persunalizazione chì u penseru hè oramai di facilità ne a stallazione, à prò di sè stessu quant’è chè di qualchì distribuzione pùbblica.

À livellu tècnicu, hà permessu l’iniziu di i plugins d’apre e seguenti pussibulità:
-  si pò soprascrive ogni schedariu di u nòcciulu [2] cù tutte e funzioni chjamate sempre [3],
-  Hè mantenuta un’interfaccia d’appiecazione (API) per via di a definizione d’unepochi d’entritoghji in u còdice.

Hà bisognu omu di realizà un plugin in quattru casi :

-  Funzioni è upzioni : Creà u so primu plugin, tramutà è rende tramutèvule e so funzioni è e so upzioni à prò soiu o d’altri.

-  L’entritoghju : intruduce, mentre u tempu d’attivazione d’un plugin, còdice in core di SPIP è mudificà in prufundezza u so funziunamentu.

-  Mudificà i schedari nativi : in assenza d’entritoghju, mudificà e parti di u còdice di SPIP senza tuccà à u nòcciulu.

-  Turnà à scrive u so propriu còdice : inventà u so propriu script da ch’ellu sia insitatu nant’à SPIP.

Sì di questi i bisogni ùn ne avete mancunu, lasciate puru corre e seguenti pàgine, ma osinnò, forse serete interessatu da ciò ch’elli vi ponu furnisce quelli plugins distribuiti da lìberu.

Note

[1Ramintemu chì SPIP hè in GPL, vale à dì libertà in tuttu d’usità lu, di studià ne u viaghjà à prò soiu, di turnà à distribuì lu, di turnà à distribuì e so mudìfiche.

[2soprascrive un schedariu ghjè multiplicà a lettura d’un schedariu da ch’ellu venga cunsideratu u so ùltimu valore. Per dì la sèmplice, sè vo soprascrivite un schedariu ch’hà u valore "Bonghjornu" cù un schedariu ch’hà u valore "Bona sera", à u screnu cumpariscerà "Bona sera" invece di "Bonghjornu".

[3Pudete puru chjamà da qualsìasi schedariu una funzione chì esiste digià, basta chè vo àppite inclusu in capu di schedariu un schedariu chì cuntene a funzione chè vo vulete aduprà. Hè assai putente quessa, chì i cuncettori di SPIP anu realizatu tante funzioni chè vo ùn averete mancu bisognu à rifà. Frà altre citeremu lire_fichier (chì leghje un schedariu), ecrire_fichier (chì scrive un schedariu), preg_files (chì cerca un schedariu), tutte e richieste sql, è decine di funzioni, simplificate à assai grazia à l’aduprera di pìccule funzioni cuntenute in u còdice di SPIP. Per sapè ne di più, andate puru à vede a ducumentazione.

Autore tavamig Publié le : Mis à jour : 26/10/12

Traductions : català, corsu, English, Español, français, italiano, Nederlands