Installation
Si vous n’avez pas déjà le dépôt externals dans votre SPIP, ajoutez le dépôt https://files.spip.net/externals/archives_externals.xml pour trouver le plugin automatiquement.
Qu’apporte ce plugin ?
Les boucles DATA de SPIP permettent de boucler facilement sur du contenu non SPIP. Ce plugin permet de le faire sur des fichiers Excel ou OpenOffice/LibreOffice.
Exemple de boucle
Soit un tableau présenté de la manière suivante :
Nom | Prénom | Téléphone | |
---|---|---|---|
Dupont | Jean | jean.dupont@fai.fr | 01 23 45 67 89 |
Durand | Pierre | pierre.durand@hebergeur.fr | 06 12 34 56 78 |
Vous pouvez accéder aux données de votre tableau comme ceci :
<BOUCLE_donnees(DATA){source xls,monfichier.xls}>
Nom : #NOM<br>
Prénom : #PRENOM<br>
Email : #EMAIL<br>
Téléphone : #TELEPHONE
</BOUCLE_donnees>
Le nom des balises SPIP reprend la première ligne du tableau (en enlevant les accents le cas échéant).
Attention : si votre fichier est au format XLSX ou ODS, il faut modifier ce qui est indiqué après source
comme suit :
<BOUCLE_donnees(DATA){source xlsx,monfichier.xlsx}>
<BOUCLE_donnees(DATA){source ods,monfichier.ods}>
Crédits
Ce plugin est basé sur deux librairies : spreadsheet-reader de Martins Pilsetnieks et Spreadsheet_Excel_Reader. Les librairies sont distribuée avec le plugin.
Comment contribuer ?
Le plugin est disponible sur GitHub pour vos forks : https://github.com/cahri/spip-itera....
Discussions by date of activity
8 discussions
Bonjour,
Les années passent et Spip rajeunit ! ;-)
Est-ce que le plugin sera compatible avec la version 4.0 ?... Au pire, j’essaierai sur mon projet en dev plus tard :-)
Merci
Reply to this message
Bonjour, existe-t-il une version pour Spip 3.2 ?
Merci ;-)
Salut,
le plugin n’a pas été testé pour SPIP 3.2. Cela ne signifie pas qu’il n’est pas compatible, mais qu’on ne sait pas s’il l’est où pas. Tu peux faire toi même le test en modifiant dans le paquet.xml
Par
Cela te permettra d’activer le plugin. Tu pourras ensuite faire un retour ici, après test, et le cas échéant on marquera le plugin comme compatible.
Bonjour, voilà, juste pour signaler que j’ai fait la migration de mon site sous spip 3.2 en local, que j’ai modifié les bornes du fichier plugin.xml de 3.1.* à 3.2.* et que cela fonctionne nickel chrome !
Merci pour cet itérateur !
Super, je modifie la version distribuée du coup
(mais je ne suis pas à l’origine du plugin)
arf non je ne peux pas faire la modif car ce n’est pas develloé sur l’espace communautaire de SPIP. Bon, je vais faire la pull requesr
Merci pour la compatibilité, j’ai mis à jour le plugin et je pousse sur la zone.
Reply to this message
Plugin super intéressant
Est-il aussi possible d’accéder aux titres des colonnes ?
Dans le genre :
[(#col_A|titre)]
Merci
Reply to this message
Bonjour, merci pour ta contribution très utile et simple à utiliser
Petits bugs :
ligne 12 inc/ods_to_array.php
Il manque un
include_spip('lib/spreadsheet-reader/SpreadsheetReader');
pour pouvoir utiliser des .ods
Et pour pouvoir en profiter sur des .csv, si tu veux bien créer le
inc/csv_to_array.php
et y mettrePar contre, le CSV n’élimine pas la première ligne !
En tout cas, c’est bien pratique comme plugin !
Et promis, je commiterai sur github la prochaine fois si tu m’y autorises !
Bonjour,
C’est corrigé pour la librairie manquante pour les ods sur la version 1.0.5.
Pour le CSV, SPIP le gère déjà très bien ;)
A bientôt !
Effectivement !
Merci
concernant le lien de la doc sur paquet.xml l’URL est iterateur-xls et non iterateur_xls
++
Bien vu touti : le lien sera mis à jour à la prochaine release et en attendant j’ai fait une redirection ;)
Reply to this message
Bonjour,
Je tente d’utiliser la méthode :
soit un appel dans un article du modele deliberation.html sous la forme :
Dans le modele en question se trouve :
N’affiche que l’id_document ... le fichier est bien présent, bien formaté, sans lignes ni colonnes qui dépassent, les noms de colonnes correspondent ...
Besoin d’aide, Je sèche !
SPIP 3.1.1 [22913] + écran de sécurité 1.2.4
Bonjour,
Peux-tu vérifier que le code suivant fonctionne bien ?
Est-ce bien un fichier XLS et non un XLSX (essaye peut être avec xlsx comme source) ?
A bientôt !
Reply to this message
Ne fonctionne sur, sur un 3.0.20 mutualisé.
File (tmp/cache/xls5702799965bb5) not readable
J’ai commencé a regardé il s’agirait d’un problème de chemin mal défini!
Merci quand même.
Je retourne a mes CSV faute de temps :(
je pense qu’en remplacant dans les fichiers les appels directe à ’tmp/cache’ par _DIR_CACHE cela devrait marcher.
en fait cela devrait plutot être
NOM_TEMPORAIRES_INACCESSIBLES._DIR_CACHE
qui doit remplacer'tmp/cache/'
non, juste mettre
_DIR_CACHE
, pasNOM_TEMPORAIRES_INACCESSIBLES._DIR_CACHE
@Pierrox : c’est résolu sur la 1.0.4 qui ne devrait pas tarder à arriver sur la zone.
@Maïeul : merci pour le bug-report ;)
Yes, Merci à toi!
Reply to this message
Merci, c’est bien plus clair pour moi maintenant.
Juste un dernier détail : où dois-je déposer le fichier monfichier.xls, dans le dossier squelettes ou à la racine du site ?
Le chemin est par rapport à la racine de SPIP, donc si tu le mets dans squelettes il te faudra faire :
<BOUCLE_donnees(DATA){source xls,squelettes/monfichier.xls}>
Si je peux me permette, il vaudrait mieux utiliser
#CHEMIN{monfichier.xls}
. D’une manière générale c’est une bonne méthode de ne pas mettre les chemins en dur dans SPIP.Il vaut mieux également ne jamais rien mettre à la racine du site, et tout mettre dans squelettes.
Par ailleurs, a priori il doit être possible de faire un modèle qui permette de chercher un fichier ajouté comme document joint.
Quelque chose comme:
a mettre dans le
squelettes/modeles
et à appeler via<nomdumodele|id_document=xxx>
cf http://www.spip.net/fr_article3454.html (et aussi Plugin Insérer Modèles.
Merci à vous deux, c’est top :)
Reply to this message
Bonjour Julien,
Ne maitrisant que peu les boucles DATA : serait-il possible que tu nous donnes un exemple concret/détaillé d’une telle boucle avec un fichier Excel type simplissime (nom, prénom, tél, email), stp ?
T’en remerciant par avance.
Bonjour Pascual,
J’ai réécrit un peu le texte en donnant un exemple concret, tiens moi au courant si ce n’est pas assez clair :)
Bonne journée !
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
