SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [vi] [zh] Espace de traduction

Scaricà

Fà u so primu plugin

Nuvembre di u 2009

Tutte e versioni di st'artìculu :


Un plugin deve esse creatu in u listessu spaziu ch’elli venenu stallati quelli scarichèvuli, digià pronti à viaghjà (Vede «Installer un plugin»).

U sistema di plugin s’appoghja nant’à a ricerca di percorsi bè allistinati. I sapientoni a chjameranu SPIP_PATH (cf. Où placer les fichiers de squelettes?). L’attivazione, o micca, d’un plugin decide di l’aghjunta in a lista di u cartulare chì li vene assuciatu. Da fà u so primu plugin, omu duverà dunque creà :

-  Un cartulare plugins/ à a ràdica di u situ. U primu effettu di quessa hè d’attivà l’interfaccia di gestione di i plugins, è u primu affare chì si vede hè u buttone «Gestione di i plugins» in u menù «Paràmetri» di l’interfaccia privata (ma solu in modu interfaccia sana)


-  Un sottucartulare mon_premier_plugin/ per u plugin da fà.

Per indettà à SPIP à chì ghjova stu plugin, esiste un schedariu apposta per a so discrizzione, di nome plugin.xml, chì omu crea in u cartulare di u plugin. Hè un schedariu di sintassa severa ma abbastanza sèmplice. Eccu lu quì :

Hè un schedariu chì cuntene l’ùniche balise ubbligatorie.

-  A balisa nom pò esse scritta in parechje lingue usendu a balisa multi (esempiu: <nom><multi>My first plugin[co]U mo primu plugin</multi></nom>). GHjè u tìtulu di u plugin.
-  A balisa version hè solu da infurmazione. Ùn ci hè règula precisa da gestisce i nùmeri di versione. Tocca à i sviluppori à gestisce li da per ellu. In futuru, pò accade chì stu valore ghjovi per gestisce eventuali dipendenze da assicurà una mìnima cuerenza frà SPIP è i plugins...
-  Hè impurtantìssima a balisa prefix. Prima bisogna à assicurà si ch’ellu hè ùnicu stu valore frà mezu à tutti i plugins chè vo stallate. Dopu, stu valore definisce u prefissu di e funzioni chè vo avete da prugrammà in php è chì seranu l’elementi mutori di u plugin. Cusì ne, s’elli esistenu parechji plugins chì anu listessu funziunamentu chè unepoche di funzioni, serà tandu impussìbule ch’elli cagiuneghjinu errori per via di u so nome. Si chjama quessa un «spaziu di nomi».

Bench’ellu ùn faccia nunda per avà, stu pocu è tantu permette digià d’attivà u plugin in l’interfaccia :

À stu prò, cliccate dentr’à a casella di pettu à u nome di u plugin, poi cliccate nant’à u buttone «cunvalidà» in fondu. U spaziu di u tìtulu hè aggrisgiulatu.

Da fà qualchì prova, cacciate puru l’una o l’altra di isse balise, v’accorgerete ch’ellu hè capace SPIP di indettà vi ciò chì manca o puru chì ùn viaghja micca.

*-*-*

Hè pussìbule piazzà altri elementi in un schedariu plugin.xml:

-  A balisa <etat>: 4 valori pussìbuli. In assenza di sta balisa, o s’ella ci hè ma viota, hè tenutu u plugin da "in corsu di sviluppu". Stu valore ùn hà nisun effettu nant’à u viaghjà di u plugin. À u primu sguardu si pò identificà u statu di u plugin per via d’un’imaginetta di culore.

StatuCuloreSignificatu
dev neru In corsu di sviluppu. Ponu accade assai bugs. Otantu ùn viaghja micca.
test aranciu A funzione principale hè pronta à esse pruvata. I sviluppori s’arricumandanu à noi da chè no li ritorninu cummenti nant’à eventuali errori o rimarche nant’à l’ergunumia d’un’interfaccia gràfica, per esempiu.
stàbbile verde Uperaziunale in tuttu. In teuria, senza bugs.
sperimentale rossu Signore, pietà, Cristu, pietà !

-  E balise <auteur> è <description> ùn sò micca ubbligatorie è viaghjanu cum’è i testi d’un artìculu (sò auturizati tutti l’accurtatoghji) è ghjovanu à furnisce infurmazioni corte nant’à u plugin. Cusì ne, u seguente còdice :

à u screnu cumpariscerà :

Pigliate nota ch’ella hè necessaria di cudificà i caràtteri cù l’alette usendu entità HTML (&egrave; per è, per esempiu).

*-*-*

Attivatu ch’ellu hè u vostru plugin, sè vo mettite un schedariu squelette.html à listessu livellu chè plugin.xml, venerà aduprèvule stu mudellu chjamendu lu in u navigatore cù l’«usuale» nutazione : uvostrusitu.net/spip.php?page=mudellu. Eccu quì un primu esempiu, sèmplice sèmplice, di soprascrittura d’un schedariu. Serà studiata quessa di modu più prufondu in un altru tuturiale.

*-*-*

Da schjarisce ancu di più l’affari, emu da scrive un plugin chì u scopu serà di culurizà di modu particulare a parulla «spip» ogni volta ch’ella vene in un testu. Per ciò, piazzeremu in u cartulare di u plugin i dui schedari ùtuli, è indetteremu u so nome à SPIP, aduprendu unepoche di balise in soprapiù in u schedariu XML:

Eccu a discrizzione di e duie balise aghjunte:

-  <fonctions> : cuntene u nome d’un schedariu chì à ogni càlculu serà caricatu. Currisponde, per ogni plugin, à u schedariu mes_fonctions.php. Hè dunque solu usitatu per u situ pùbblicu, postu ch’ellu vene chjamatu solu in casu di ricàricu di u cache. Dentru ci metteremu stacci o definizioni di balise è criteri.
-  <options> : cuntene u nome d’un schedariu chì ogni volta ch’ella serà chjamata una pàgina, serà caricatu. Currisponde, per ogni plugin, à u schedariu mes_options.php. Hè usitatu dinò in l’interfaccia privata, ogni volta ch’ella hè chjamata una pàgina.

Create puru i dui schedari da cuntene a robba quì sottu:

esempiu_funzioni.php:

esempiu_upzioni.php:

Attenti! Certi nomi hè megliu à ùn aduprà li micca per i plugins : si tratta quì d’una lista di cartulari cunnisciuti è SPIP piglia sempre u primu schedariu ch’ellu trova. Sì u schedariu di a balisa <fonctions> si chjama mes_fonctions.php, tandu nascerà cunfusione cù u schedariu di u vostru cartulare di mudelli, in casu ch’ellu esisti, ma sopratuttu, in casu chì parechji plugins portinu stu nome, u sistema ùn ci hà da capisce più un’acca... Listessa per mes_options.php, chì ci vulerà à tene in u cartulare ecrire/ è per i schedari di lingue local_xx.php chì seranu gestiti cù un altru mètudu discrittu in un tuturiale cunsacratu à a soprascrittura di stu còdice.

Per taglià à l’accorta: ùn usate micca nomi «cumuni» cum’è mes_fonctions.php è mes_options.php.

In un antru artìculu videremu cumu soprascrive i cartulare di SPIP. Ma sàppiate puru avà chì nomi di cartulari cum’è «modeles», «formulaires», «inc», «action» etc... devessenu aduprati cum’è di si deve...

Infine, fate casu à esse ghjustu quand’è vo scriverete i nomi di schedari in plugin.xml, hè assai cappricciosa l’interfaccia di gestione riguardu l’aghjunta di quelle ùltime balise (messagi d’errore chì facenu piantà u servore...)

Eccu ci, stu plugin prupone un nuvellu stacciu per i vostri mudelli. Pruvate puru [(#TEXTE|culurizeghja_spip)] dentr’à article.html per esempiu.

*-*-*

Sò stallati tutti i plugins in u cartulare plugins/, ma si ponu ancu creà sottucartulari da sparte bè secondu e categurie i plugins ch’omu stalla o sviluppa.

Cusì ne, per l’arburatura quì sottu:

plugins/
  |
  |-- u_mo_primu_plugin/
  |-- i_mo_accurtatoghji_in_piu/
         |
         |-- accurtatoghji_2/
         |-- accurtatoghji_3/
  |-- i_mo_altri_plugins/
         |
         |-- accurtatoghji_4/
         |-- accurtatoghji_5/

l’interfaccia di gestione s’assumiglierà à:

Andà più indà

Avviatu si ne nant’à issa strada, nascenu tandu certe interrugazioni tècniche, leate à prublemàtiche di prugrammazione in PHP, per esempiu. Bella sicura, dumandà hè lege.

Hè cuncepitu apposta u situ di ducumentazione tècnica da risponde à ste dumande. À u sugettu di i plugins, ne pudete sapè di più andendu à st’indirizzu, da lampà un primu sguardu nant’à l’entritoghji di SPIP (o «pipeline»).


Vede u mudellu di sta pàgina Situ fattu cù SPIP | Spaziu traduttori | Spaziu privatu