De map prive/transmettre
bevat de skeletten die worden gebruikt om CSV gegevens te genereren, opgeroepen vanuit het skelet prive/transmettre.html
.
De map prive/transmettre
bevat de skeletten die de CSV-gegevens beheren, opgeroepen vanuit het skelet prive/transmettre.html
.
Aangepast gebruik
Deze map kan eenvoudig worden gebruikt voor het beheren van exportbestanden.
Omdat het om skeletten van SPIP gaat, beschikken de gegenereerde bestanden over een cache. Daarentegen is de code van het skelet minder goed leesbaar en dus moeilijker te onderhouden dan wanneer gebruik wordt gemaakt van de API van SPIP in PHP.
Stap 1: de CSV maken via een SPIP skelet
Maak in de map prive/transmettre
van jouw plugin het bestand dat de CSV maakt.
Dit is een voorbeeld uit plugin mesabonnes
. Het bestand prive/transmettre/mesabonnes.html
bevat:
<BOUCLE0(AUTEURS){tout}{id_auteur=#ENV{id}}{lang_select}><?php
if ([(#ID_AUTEUR|securiser_acces{#ENV{cle},transmettre,#ENV{op}, #ENV{args}}|?{1,0})]) {
?><BOUCLE1(spip_mesabonnes){par date_modif}{statut=publie}>#NOM,#EMAIL**,#LANG,[(#DATE_MODIF|affdate{Y-m-d})]
</BOUCLE1>
<?php
} else {
include_spip('inc/minipres');
echo minipres();
}?></BOUCLE0>
Je vindt hier bij uitzondering PHP in een skelet.
Stap 2: link voor het downloaden van dit bestand
Voorbeeld: in de plugin mesabonnes
is de link voor deze doorgave:
#SET{args,#ARRAY{}}
<a href='[(#URL_PAGE{transmettre,[(#VAL{mesabonnes}|param_low_sec{#GET{args}, '', 'transmettre'})]})]'><:mesabonnes:export_abonnes_csv:></a>
In de plugin agenda
bereik je op deze manier de export van evenementen:
#SET{args,#ARRAY{id_evenement,#ID_EVENEMENT}}
<h3><:agenda:telecharger:></h3>
<ul class="liste-items">
<li class="item"><a href="[(#URL_PAGE{transmettre,[(#VAL{evenement_participants}|param_low_sec{#GET{args}, '', 'transmettre'})]}|parametre_url{reponse,oui})]" class="noajax"><:agenda:telecharger_oui:></a></li>
<li class="item"><a href="[(#URL_PAGE{transmettre,[(#VAL{evenement_participants}|param_low_sec{#GET{args}, '', 'transmettre'})]})]" class="noajax"><:agenda:telecharger_toutes:></a></li>
....