Configuratieformulier
Stel dat we een functionaliteit "truc" willen configureren.
- maak een CVT formulier waarvan de naam begint met «configurer_ », een leeg HTML bestand (dus zonder het definiëren van de functies charger, verifier en traiter).
- maak een pagina
configurer_truc.html
inprive/squelettes/contenu/
(voor SPIP 3) of inprive/exec/
(voor SPIP 2) binnen je plugin of je skelettenmap. Roep daarin het formulier aan met een eenvoudige#FORMULAIRE_CONFIGURER_TRUC
.
Dat is alles!
Configuratie van een plugin
Wanneer «truc» de prefix van een plugin is, wordt een shortcut naar de configuratie-pagina automatisch toegevoegd aan de beheerpagina voor plugins (met het ikoon «gereedschap»).
Bijvoorbeeld: Voor de plugin ’mediabox’ bevat het bestand prive/squelettes/contenu/configurer_mediabox.html
:
[(#AUTORISER{configurer,mediabox}|oui)
<h1><:mediabox:titre_page_configurer_box:></h1>
<div class="ajax">
#FORMULAIRE_CONFIGURER_MEDIABOX
</div>
]
Wil je dat dit item ook in het menu van het privé gedeelte wordt opgenomen, dan moet je het volgende toevoegen aan het bestand plugin.xml :
<bouton id='truc' parent='bando_configuration'>
<titre>Truc (configuratie voorbeeld)</titre>
</bouton>
Om de initiële configuratiewaarde (bijvoorbeeld deze_param
) bij het aanmaken of aanpassen van een plugin in te stellen, voeg je aan de pipeline mijnplugin_upgrade() toe:
- bij het aanmaken:
$maj['create'] = array( array('ecrire_config','mijnplugin/deze_param', '3'), );
- bij een update:
$maj['0.1'] = array( array('ecrire_config','mijnplugin/deze_param', '3'), );
Om de waarde te verwijderen wanneer de plugin wordt verwijderd, voeg je aan de pipeline monplugin_vider_tables() toe:
effacer_config("mijnplugin/deze_param");
De geconfigureerde waardes benaderen
In een skelet benader je de configuratiewaardes door middel van het baken #CONFIG
(bijvoorbeeld: #CONFIG{mijnplugin/deze_param}
)
In PHP gebruik je de functie lire_config
met lire_config('mijnplugin/deze_param')
.
Om hem aan te passen gebruik je de functie ecrire_config
:
ecrire_config('mijnplugin/deze_param', 3)
Autorisaties
Niet alle internetters hebben toegang tot de configuratie. Standaard zijn het de beheerders die deze mogelijkheid hebben, maar je kunt dit toegangsrecht tot het configuratieformulier aanpassen. Daarvoor gebruik je de PHP-API autoriser
, of het baken #AUTORISER
en het filter sinon_interdire_acces
in het skelet van je formulier.
Voorbeeld: [(#AUTORISER{configurer,mediabox}|sinon_interdire_acces)]