Carnet Wiki

Version 2 — Octobre 2017 erational

prive/transmettre permet de générer des fichiers d’export très simplement sans passer par le processus habituelle #URL_ACTION et action/....

étape 1 : générer votre CSV via un squelette SPIP

créer dans votre plugin un fichier prive/transmettre/patate.html qui génére le csv

voici un exemple du plugin mesabonnes

<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>

exceptionnellement il y a du PHP dans ce squelette

étape 2 : lien pour télécharger ce fichier

Pour télécharger ce fichier dans un squelette, voici la syntaxe

voici un exemple du plugin mesabonnes

#SET{args,#ARRAY{}}
<a href='[(#URL_PAGE{transmettre,[(#VAL{mesabonnes}|param_low_sec{#GET{args}, '', 'transmettre'})]})]'><:mesabonnes:export_abonnes_csv:></a>

il est aussi possible de passer des événements
voici le plugin agenda

#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>
....