Jump to content

Module admin : comment exporter un CSV ?


Recommended Posts

Bonjour,

Je développe un module d'administration (ajouté comme outil dans un onglet) qui intègre un export CSV de données. Pas de problème, j'écris dans mon module une function postProcess() qui se charge de ça. J'écris donc :

header('Content-Type: text/csv');
// ou pour forcer le téléchargement
header('Content-type:application/octetstream');
header('Content-Disposition: inline; filename="export_emails.csv"');
echo $myContent;
// même avec cette ligne problème
// die();

Le problème : je récupère dans mon CSV le contenu de index.php de l'admin, c'est à dire tout l'en-tête (tabs, ..).Même si j'ajoute un die() en fin de fonction.

Savez-vous comment :
- créer cet export avec juste les données que je choisis
- et idéalement afficher aussi un message sur l'admin pour confirmer le succès de l'export

Merci à tous !

Sylvain

Link to comment
Share on other sites

Merci de ta réponse.

J'ai déjà regardé pas mal de modules proposés mais aucun ne me satisfait ni ne correspond à ce que je cherche. En général, les méthodes sont :

1) remplissage d'un fichier puis redirection vers ce fichier
Tools::redirect('modules/monmodule/monfichier.csv');
>> pas conseillé car l'accès au dossier doit être verrouillé
>> en plus je ne peux plus rien afficher à l'utilisateur ensuite

2) appel d'une URL dédié à l'export
Tools::redirect('modules/monmodule/monexport.php');
>> je ne peux plus rien afficher à l'utilisateur ensuite

Avec un appel d'url avec fopen ou file_get_contents, je peux afficher des infos à l'utilisateur (pas de redirection) mais l'export n'est pas effectué.

Si vous avez d'autres idées, je suis preneur !

Sylvain

Link to comment
Share on other sites

Je n'ai rien compris.

Ce que je vous disais n'était que pour comprendre comment faire certaines choses, pas pour reprendre un module complet.

Après tout est claire dans les autres modules si vous cherchez une action particulière vous pouvez toujours la demander ici, mais il faut être très précis sur ce que vous voulez faire, car pour l'instant ce n'est pas le cas.

Link to comment
Share on other sites

Ok, pas de souci. J'ai bien compris votre conseil et l'applique d'ailleurs très régulièrement et depuis bien longtemps :-)

Quant à ce que je cherche à faire, c'est très simple : depuis un outil d'admin que je crée (module), je voudrai que l'administrateur puisse cliquer sur un bouton, que ça lui télécharge un fichier CSV puis que ça lui affiche une confirmation (en vert comme d'hab) du genre "tout s'est bien passé".

J'espère avoir été plus clair cette fois.

Sylvain

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...