Les Itérateurs pour SPIP 2.1 - commentaires Les Itérateurs pour SPIP 2.1 2016-10-31T15:22:27Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment489689 2016-10-31T15:22:27Z <p>bonjour, je me suis inspiré des réponses données à mirobulus pour mettre en place une liste déroulante pour sélectionner le nom d'un élève. Pour l'affichage des données de l'élève adapté son code à mon cas. j'ai juste modifié GET en POST et cela ne fonctionne pas. <br class="autobr"> Je suis sur un serveur test :<a href="http://preuilly.preuillysurclaise.fr/?tap-derniere-periode" class="spip_url spip_out auto" rel="nofollow external">http://preuilly.preuillysurclaise.fr/?tap-derniere-periode</a> <br class="autobr"> j'ai utilisé ce code<br class="autobr"> merci de votre aide si vous pouvez me dire ce que j'ai manqué car en GET je reviens sur la page d'accueil en POST j'affiche la liste complète des élèves.</p> <p>pj le code en image</p> Les Itérateurs pour SPIP 2.1 2015-03-11T09:47:24Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment480216 2015-03-11T09:47:24Z <p>Mince. Comme le plugin simplexml n'est pas encore documenté j'espérais secrètement qu'il existe une astuce ou un filtre qui permette de stopper l'itération juste avant qu'elle n'entre dans la balise « paragraphe » et me permette d'en récupérer le contenu brut ou de le restaurer pour y appliquer ensuite autre chose. Je vais donc me pencher là-dessus. merci<small class="fine d-inline"> </small>;-)</p> Les Itérateurs pour SPIP 2.1 2015-03-11T09:30:26Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment480215 2015-03-11T09:30:26Z <p>regarde quand même sur <a href="http://plugins.spip.net/itersimplexml.html" class="spip_url spip_out auto" rel="nofollow external">http://plugins.spip.net/itersimplexml.html</a>, malheureusement pas documenté, sauf dans le forum juste au dessus.</p> <p>Et si tu dois faire ton propre iterateur, tu peux peut être utiliser <a href="http://plugins.spip.net/querypath.html" class="spip_url spip_out auto" rel="nofollow external">http://plugins.spip.net/querypath.html</a></p> Les Itérateurs pour SPIP 2.1 2015-03-11T09:25:40Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment480214 2015-03-11T09:25:40Z <p>A mon sens pas moyen de s'en sortir sans coder ton propre itérateur<small class="fine d-inline"> </small>; l'analyseur de XML qu'on exploite est assez sommaire, et ne correspond pas à ton besoin. Mais heureusement l'API interne des itérateurs est très facile à programmer : tu reçois en entrée le texte du XML, et en sortie tu dois fourninr un tableau des éléments sur lesquels tu vas itérer.</p> Les Itérateurs pour SPIP 2.1 2015-03-11T09:19:38Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment480213 2015-03-11T09:19:38Z <p>Hi</p> <p>Je m'arrache un peu les cheveux avec simple xml (qui par ailleurs fonctionne extrêmement bien). J'explique : lorsque je souhaite afficher une valeur (ici « paragraphe ») qui contient des balises imbriquées comme ceci</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><Paragraphe> <Valeur>9 605,40</Valeur> + <Valeur>4 802,70</Valeur> par enfant</Paragraphe></code></pre></div> <p>Je me retrouve avec des arrays parfaits mais sous forme arborescente dans le désordre :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>paragraphe: 0: name: paragraphe text: + par enfant attributes: children: valeur: 0: name: valeur text: 9 605,40 attributes: children: 1: name: valeur text: 4 802,70 attributes: children:</code></pre></div> <p>Dans l'exemple ci-dessus j'ai donc une partie de mon texte rassemblée au premier niveau puis d'autres parties au niveau inférieur et rien ne permet de replacer les valeurs de chaque côté du signe + pour reconstituer la phrase d'origine.</p> <p>Existe-t-il une solution<small class="fine d-inline"> </small>? Y aurait-il un filtre qui permette éventuellement de récupérer le contenu de la balise « paragraphe » tel quel et non en array<small class="fine d-inline"> </small>? Bref : AU SECOOOOUUUURS<small class="fine d-inline"> </small>!<small class="fine d-inline"> </small>;-)</p> Les Itérateurs pour SPIP 2.1 2014-03-05T19:50:18Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment474199 2014-03-05T19:50:18Z <p>Bonjour,</p> <p>j'ai une question un peu en rapport mais différente dans la structure.</p> <p>J'ai installé le plugin iterateurs simplexml qui permet de récupérer la clé d'une balise or à présent ce n'est pas la cle que je veux mais spécifier dans une liste ou un tableau les éléments du noeud ma valeur </p> <p>Donc je pensais faire un truc comme ça :</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>#SET{xml, monfichierxml.xml} #SET{trier,#ARRAY} <BOUCLE_xml(DATA){source xml, #GET{xml}} {datapath Resultat/0}> #SET{trier,#GET{trier}|push{ #ARRAY{ produit,#VALEUR{0/PRODUIT/0}, hebergement,#VALEUR{0/NOM/0}, ville,#VALEUR{0/ADRPROD_LIBELLE_COMMUNE/0} } } <BOUCLE_crit(DATA){source simplexml, #GET{xml}} {datapath root/children/resultat/0/children/sit_liste/0/children/criteres}> #SET{trier,#GET{trier}|push{ #ARRAY{ photo,#VALEUR{children/crit/0/attributes/clef_criterephotos???} } } </BOUCLE_crit> </BOUCLE_xml></code></pre></div> <p>Suis-je sur la bonne voie<small class="fine d-inline"> </small>? Je pense que oui mais j'ai toujours le problème de récupérer la valeur par rapport à la clé pour spécifier, et si j'ai plusieurs valeurs sur la même clé comment je fais<small class="fine d-inline"> </small>? Encore un tableau dans le tableau<small class="fine d-inline"> </small>?</p> Les Itérateurs pour SPIP 2.1 2013-06-14T05:44:02Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment468721 2013-06-14T05:44:02Z <p>il existe la méthode 'ls' fournie avec iterateurs (Version : 1.0.0 [72598]) pour spip 2 et qui permet de faire :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_mon_ls(DATA) {source ls, squelettes-dist/*.html} {"<br >"} {!par mtime}> [(#VALEUR{file})] : [(#VALEUR{mtime})] </BOUCLE_mon_ls> </code></pre></div> <p>et on peut utiliser <code class="spip_code spip_code_inline" dir="ltr">[(#VALEUR|foreach)]</code> dans la boucle pour afficher toutes les clefs utilisables :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>- dirname => squelettes-dist - basename => test_boucle.html - extension => html - filename => test_boucle - dev => 234881026 - ino => 8235281 - mode => 33188 - nlink => 1 - uid => 501 - gid => 501 - rdev => 0 - size => 607 - atime => 1371188432 - mtime => 1371188431 - ctime => 1371188431 - blksize => 4096 - blocks => 16 - file => test_boucle.html</code></pre></div> Les Itérateurs pour SPIP 2.1 2013-06-13T16:56:18Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment468713 2013-06-13T16:56:18Z <p>Hello,</p> <p>Voici une technique pour lister un répertoire en triant les fichiers par date. J'ignore s'il y a plus simple, mais j'ai du recourir à deux boucles.</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>#SET{table,#ARRAY} <BOUCLE_ls(DATA){source glob, #CHEMIN{lol/*.html}>[(#SET{table,#GET{table}|array_merge{#ARRAY{#VALEUR,#VALEUR|filemtime}}})]</BOUCLE_ls> <BOUCLE_ls2(DATA){source table, #GET{table}}{!par valeur}>#CLE : [(#VAL{Y-m-d H:i:s}|date{#VALEUR})]</BOUCLE_ls2></code></pre></div> Les Itérateurs pour SPIP 2.1 2013-06-13T09:16:39Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment468700 2013-06-13T09:16:39Z <p>Bonjour,</p> <p>Avec IMG/ oui ça fonctionne, voici le code que j'ai utilisé :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> <BOUCLE_ls2(DATA){source glob, IMG/doc/*.doc}> [(#VAL{Y-m-d H:i:s}|date{#VALEUR|filemtime})] / #VALEUR </BOUCLE_ls2></code></pre></div> <p>Et voici le code utilisé pour accéder au lecteur réseau</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> <BOUCLE_ls2(DATA){source glob, D:\\DF\\DSE\\PS\\Procedures\\Appli\\*.doc}> [(#VAL{Y-m-d H:i:s}|date{#VALEUR|filemtime})] / #VALEUR </BOUCLE_ls2></code></pre></div> <p>merci par avance<small class="fine d-inline"> </small>!</p> Les Itérateurs pour SPIP 2.1 2013-06-13T05:21:49Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment468694 2013-06-13T05:21:49Z <p>Bonjour</p> <p>On peut avoir le code que tu as fait<small class="fine d-inline"> </small>?<br class="autobr"> Avec le code IMG/ ça fonctionne<small class="fine d-inline"> </small>?</p> Les Itérateurs pour SPIP 2.1 2013-06-12T21:55:59Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment468693 2013-06-12T21:55:59Z <p>Bonjour,</p> <p>je souhaiterai savoir si on peut faire une boucle DATA sur un lecteur réseau, je souhaite parcourir certains dossiers du lecteur et en afficher les fichiers. <br class="autobr"> J'ai fait quelques tests avec glob sans résultat, je n'ai pas d'erreurs mais aucun resuĺtats.<br class="autobr"> Je me suis basé sur ce code ci dessous en remplaçant <code class="spip_code spip_code_inline" dir="ltr">IMG/jpg/*.jpg </code>par le chemin de mon lecteur réseau, mais ça ne fonctionne pas.</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_ls2(DATA){source glob, IMG/jpg/*.jpg}> [(#VAL{Y-m-d H:i:s}|date{#VALEUR|filemtime})] / #VALEUR </BOUCLE_ls2></code></pre></div> <p>Merci de votre aide<small class="fine d-inline"> </small>!</p> Les Itérateurs pour SPIP 2.1 2013-03-06T22:23:31Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment465924 2013-03-06T22:23:31Z <p>J'ai bien cherché partout sur le forum et je n'ai pas vu un endroit où ce point aurait été abordé, alors voilà, je voulais signaler un point <i>important à mes yeux</i> :</p> <h2 class="h2">Les itérateurs c bôôôô</h2> <p>- même le mercredi soir à 23h23 <br>- même dans le core</p> <p>Si, merci.</p> Les Itérateurs pour SPIP 2.1 2013-02-27T15:49:33Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment465739 2013-02-27T15:49:33Z <p>Hello,</p> <p>Cette fonction ça rend le xml utilisable dans SPIP<small class="fine d-inline"> </small>;-). Du coup, je l'ai : <br>- intégrée dans ce plugin (DATA, simplexml) <br>- mise dans un plug SPIP3 en attendant l'intégration au core <a href="http://files.spip.org/spip-zone/iterateurs-simplexml.zip" class="spip_url spip_out" rel='nofollow external'>http://files.spip.org/spip-zone/ite...</a> <br>- accessoirement, dans la foulée, les démos ont été sorties dans un plugin séparé...</p> <p><del>Le tout dans le cadre du grand complot ircien.</del></p> Les Itérateurs pour SPIP 2.1 2013-02-11T11:53:09Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment465203 2013-02-11T11:53:09Z <p>Pour <a href="http://spip3.quejai.me/xml-afficher-le-cours-du-dollar-des-30-derniers-jours" class="spip_url spip_out auto" rel="nofollow external">http://spip3.quejai.me/xml-afficher-le-cours-du-dollar-des-30-derniers-jours</a> j'ai corrigé la fonction <code class="spip_code spip_code_inline" dir="ltr">inc_simplexml_to_array_dist</code> ci-dessus pour en faciliter la lecture par la boucle <code class="spip_code spip_code_inline" dir="ltr">DATA</code> :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>/** * xml -> tableau * @param string $u * @return array */ function inc_simplexml_to_array_dist($u){ return array('root'=>@xmlObjToArr(simplexml_load_string($u))); }</code></pre></div> Les Itérateurs pour SPIP 2.1 2012-09-05T16:37:15Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment460933 2012-09-05T16:37:15Z <p>Ah ok ... une explication, ça c'est cool, je commençais à douter de mes capacités.</p> Les Itérateurs pour SPIP 2.1 2012-09-05T16:21:25Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment460930 2012-09-05T16:21:25Z <p>en fait ça bloquait au niveau du plugin nospam — il était devenu trop chatouilleux<br class="autobr"> cf. <a href="http://zone.spip.org/trac/spip-zone/changeset/65562" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/changeset/65562</a> et correction <a href="http://zone.spip.org/trac/spip-zone/changeset/65564" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/changeset/65564</a></p> Les Itérateurs pour SPIP 2.1 2012-09-05T16:14:51Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment460929 2012-09-05T16:14:51Z <p>J'ai finalement démarré ma question sur le forum, ici :</p> <p><a href="http://forum.spip.net/fr_246277.html#forum246284" class="spip_url spip_out auto" rel="nofollow external">http://forum.spip.net/fr_246277.html#forum246284</a></p> <p>Si quelqu'un a une idée, je précise c'est une question qui concerne les itérateurs sur Spip3.</p> Les Itérateurs pour SPIP 2.1 2012-09-05T16:12:50Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment460928 2012-09-05T16:12:50Z <p>Bonjour,</p> <p>Merci mais ... <br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">test</code><br class="autobr"> p..... ça marche. Je jure que j'ai essayé exactement ça (et aussi cadre), testé, vidé le cache du navigateur, redémarré ledit navigateur, sans succès, chaque fois j'avais le textarea en rouge en alerte. Merci<small class="fine d-inline"> </small>!!</p> Les Itérateurs pour SPIP 2.1 2012-09-05T16:08:06Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment460927 2012-09-05T16:08:06Z <p>normalement tu utilises <code>.....&lt/code></p> Les Itérateurs pour SPIP 2.1 2012-09-05T15:26:43Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment460926 2012-09-05T15:26:43Z <p>Bonjour,</p> <p>j'ai une question préalable stupide mais qui vient de me faire tourner en rond pendant une heure : comment fait-on pour afficher du code ici sans qu'il soit transformé (comme le font certains plus haut)<small class="fine d-inline"> </small>? <br class="autobr"> J'avais un beau message de 50 lignes que j'ai finalement abandonné car mes boucles étaient explosées ... j'ai tenté tout ce que je connais, ma barre d'outil ne comporte pas les habituels boutons pour ça, aucun html n'est accepté, je ne peux pas mettre la balise code ... google n'est pas mon ami sur ce coup là ... bref j'ai fini par poster sur le forum ou tout ça marche nickel, mais je pense toujours que ma question serait mieux ici donc j'espère qu'une bonne âme me donnera le truc ... (d'ailleurs il me semble avoir déjà utilisé ça avant ...).</p> <p>Merci. Pierre.</p> Les Itérateurs pour SPIP 2.1 2012-05-31T12:21:07Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment457898 2012-05-31T12:21:07Z <p>En attendant une intégration un jour (c'est un peu tout neuf et en test), je vous propose de créer un fichier mes_fonctions.php dans votre squelettes contenant cette fonction :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code><?php /** * xml -> tableau * @param string $u * @return array */ function inc_simplexml_to_array_dist($u) { return @xmlObjToArr(simplexml_load_string($u)); } // http://www.php.net/manual/pt_BR/book.simplexml.php#108688 (17 mai 2012) function xmlObjToArr($obj) { # Cette fonction getDocNamespaces est tres gourmande sur de gros fichiers # $namespace = $obj->getDocNamespaces(true); $namespace[NULL] = NULL; $children = array(); $attributes = array(); $name = strtolower((string)$obj->getName()); $text = trim((string)$obj); if( strlen($text) <= 0 ) { $text = NULL; } // get info for all namespaces if(is_object($obj)) { foreach( $namespace as $ns=>$nsUrl ) { // atributes $objAttributes = $obj->attributes($ns, true); foreach( $objAttributes as $attributeName => $attributeValue ) { $attribName = strtolower(trim((string)$attributeName)); $attribVal = trim((string)$attributeValue); if (!empty($ns)) { $attribName = $ns . ':' . $attribName; } $attributes[$attribName] = $attribVal; } // children $objChildren = $obj->children($ns, true); foreach( $objChildren as $childName=>$child ) { $childName = strtolower((string)$childName); if( !empty($ns) ) { $childName = $ns.':'.$childName; } $children[$childName][] = xmlObjToArr($child); } } } return array( 'name'=>$name, 'text'=>$text, 'attributes'=>$attributes, 'children'=>$children ); } ?></code></pre></div> <p>De la sorte vous pourrez utiliser</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLE_r8(DATA){source simplexml, http://adresse.dufichier.xml}></code></pre></div> <p>Avec beaucoup plus d'information présentes. Utilisez <code class="spip_code spip_code_inline" dir="ltr">[<pre>(#VALEUR|print_r{1})</pre>]</code> pour les afficher et étudier comment récupérer votre info.</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>#VALEUR{children} #VALEUR{attributes} Peut être : #VALEUR{children/pricingRangeResponse/0/children/hotel/0/children/rate/0/children/room/0/attributes/price}</code></pre></div> Les Itérateurs pour SPIP 2.1 2012-05-31T10:32:41Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment457893 2012-05-31T10:32:41Z <p>Bonjour, <br class="manualbr">Merci pour votre travail qui m'intérresse particulièrement.<br class="manualbr">Avec comme configuration Spip 2.1.14 et le plugin Itérateurs pour Spip 2.1, je souhaite récupérer les éléments d'un fichier xml : soit le prix (pppp) d'un système de réservation.</p> <p>Fichier XML :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><?xml version="1.0" encoding="utf-8"?> <message> <success /> <pricingRangeResponse groupId="xxxx" beginDate="2012-06-01" endDate="2012-06-01" defaultCurrency="EUR"> <hotel id="yyyy"> <rate id="zzzzz" type="LowestMinimumPrice"> <room id="rrrrr" price="pppp" /> </rate> </hotel> </pricingRangeResponse> </message></code></pre></div> <p>En utilisant la boucle issue du plugin Itérateurs :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_r8(DATA){source xml, http://adresse.dufichier.xml}{datapath }> "#CLE": <B_f> <ul> <BOUCLE_f(DATA){source table, #VALEUR**}> <B_g> <li>"#CLE": <BOUCLE_g(BOUCLE_f)/> </B_g><li>#VALEUR</li><//B_g></BOUCLE_f> </ul> </B_f> </BOUCLE_r8></code></pre></div> <p>je récupère tous les éléments : <br>- « success » <br>- « pricingRangeResponse » <br>- « xxxx » <br>- etc.<br class="autobr"> dont « pppp » alors que je ne souhaite que la valeur « pppp » de « price= » :</p> <p>Je n'arrive pas à indiquer le(s) critère(s) nécessaire dans la boucle, si vous avez une idée, je suis preneur.</p> <p>Merci par avance.</p> Les Itérateurs pour SPIP 2.1 2011-10-07T15:38:37Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment450559 2011-10-07T15:38:37Z <p>bonjour</p> <p>si dans une requête sql avec itérateur je veux interroger une seconde base déclarer dans spip, pouvez vous me donner la syntaxe<small class="fine d-inline"> </small>?</p> <p>ex :</p> <p>#SET<i>req,«<small class="fine d-inline"> </small>select libelle_commune, id_entree from spip_commune<small class="fine d-inline"> </small>»</i></p> <ul> <li>#LIBELLE_COMMUNE" - #ID_ENTREE</li> </ul> <p>merci par avance pour votre reponse</p> Les Itérateurs pour SPIP 2.1 2011-08-24T19:23:53Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment448854 2011-08-24T19:23:53Z <p>Hello</p> <p>Serait-il envisageable de pouvoir « paramétrer » la boucle ENUM afin de la faire tourner à l'envers<small class="fine d-inline"> </small>? (ça évite de faire un calcul ensuite)... Et p'têt même aussi que ça servirait si on pouvait faire varier le pas<small class="fine d-inline"> </small>?</p> Les Itérateurs pour SPIP 2.1 2011-04-15T15:25:41Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment444382 2011-04-15T15:25:41Z <p>Çà remarche : j'ai vidé tout le contenu de mon dossier cache et renvoyé le fichier du formulaire famille.<br class="autobr"> En tout cas, merci pour ta dispo. Maintenant, cette histoire de tri dans le contenu du menu déroulant reste à régler (comme tu le vois, il y a une cellule vide et l'item famille qui est la clé de ma colonne)..</p> Les Itérateurs pour SPIP 2.1 2011-04-15T15:12:39Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment444381 2011-04-15T15:12:39Z <p>Merci pour ton aide.<br class="autobr"> Pour le squelette, c'est justement le 2<sup class="typo_exposants">e</sup> formulaire que j'ai touché aujourd'hui en tentant d'inclure dans la boucle <code class="spip_code spip_code_inline" dir="ltr">{cle>0}</code>. Ensuite, j'ai enlevé cette chaîne de caractères et rebalancé sur le serveur. Et depuis, çà ne veut plus revenir comme avant.<br class="autobr"> Précision : chaque formulaire de recherche est indépendant dans un fichier, dans le dossier formulaires. <br class="autobr"> Je ne vois pas... Cà semble venir de la mémoire quelque part.</p> Les Itérateurs pour SPIP 2.1 2011-04-15T15:02:10Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment444380 2011-04-15T15:02:10Z <p>Vérifie bien ton squelette, car si le deuxième menu est vide, le premier est lui bien rempli</p> Les Itérateurs pour SPIP 2.1 2011-04-15T14:39:21Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment444379 2011-04-15T14:39:21Z <p>Je viens de le faire, j'ai tout rechargé sur le serveur, et mon menu déroulant par famille de produits est toujours vide. Je ne comprends pas. Y a-til un cache au niveau du plugin<small class="fine d-inline"> </small>? Ou des fichiers qui se crèent ailleurs<small class="fine d-inline"> </small>? <a href="http://nathalie.brunelli.perso.sfr.fr/spip.php?rubrique7&lang=fr" class="spip_out" rel='nofollow external'>La page est ici</a></p> Les Itérateurs pour SPIP 2.1 2011-04-15T14:03:10Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment444377 2011-04-15T14:03:10Z <p>en cas de doute, essaie avec <code class="spip_code spip_code_inline" dir="ltr">?var_mode=recalcul</code> dans l'URL</p> Les Itérateurs pour SPIP 2.1 2011-04-15T14:00:03Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment444376 2011-04-15T14:00:03Z <p><code class="spip_code spip_code_inline" dir="ltr">{cle>0} </code> ne fonctionne pas (mon menu disparaît de l'écran).<br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">{cle=0} </code> m'affiche le menu avec une seule cellule vide.</p> <p>Depuis cet essai, impossible de faire refonctionner le bastringue : Rechargement dans l'espace privé + cache navigateur vidé + renvoi sur le serveur du fichier csv (et même déplacement) + réinstall du plugin : le menu déroulant reste à son dernier état (1 cellule vide) et la page de résultat de ma recherche ne m'affiche plus rien.</p> <p>Ce qui est étrange, c'est que ce n'est pas la 1<sup class="typo_exposants">re</sup> fois que çà m'arrive : ce matin, la recherche ne fonctionnait pas du tout alors que je n'avais rien touché depuis des jours.. Et çà se remet à fonctionner sans que je comprenne vraiment pourquoi. Avez-vous des soucis de ce genre<small class="fine d-inline"> </small>? <br class="autobr"> Tiens, d'ailleurs, là, la page de résultat remarche, mais le menu déroulant reste vide.</p> Les Itérateurs pour SPIP 2.1 2011-04-15T12:42:54Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment444374 2011-04-15T12:42:54Z <p>peut-être avec le critère <code class="spip_code spip_code_inline" dir="ltr">{cle>0}</code></p> Les Itérateurs pour SPIP 2.1 2011-04-15T10:38:44Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment444366 2011-04-15T10:38:44Z <p>Je rejoins cette question avec une nuance dans la demande : dans la boucle DATA, comment peut-on faire pour exclure la 1<sup class="typo_exposants">re</sup> ligne de mon fichier, celle qui contient le nom de mes colonnes<small class="fine d-inline"> </small>? J'ai besoin de ces éléments pour faire ma recherche, mais pas pour construire le menu déroulant de mon formulaire de recherche. <br class="autobr"> Et effectivement, si mon csv contient une cellule vide, elle va apparaître dans mon menu déroulant. Le critère fusion me permet de ne pas avoir x cellules vides dans le menu, mais je ne sais pas comment les ignorer carrément.<br class="autobr"> Merci<small class="fine d-inline"> </small>!!</p> Les Itérateurs pour SPIP 2.1 2011-03-31T13:04:30Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment443438 2011-03-31T13:04:30Z <p>Bonjour,<br class="autobr"> Je suis intéressé par les boucles des itérateurs pour faire une recherche dans un fichier csv (répertoire d'adresses). Que se passe-til si mon tableau comporte des cellules vides<small class="fine d-inline"> </small>? Comment les exclure de la liste récupérée<small class="fine d-inline"> </small>? j'ai essayé de créer une liste déroulante qui récupère les noms de mes contacts, mais si une case est vide, le 1<sup class="typo_exposants">er</sup> élément de ma liste est une zone vide.<br class="autobr"> Merci.</p> Les Itérateurs pour SPIP 2.1 2011-03-31T07:30:42Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment443402 2011-03-31T07:30:42Z <p>Problème résolu gràce à la disponibilité de Fil. Merci encore à lui. Voici la boucle qui permet d'afficher les résultats d'une recherche dans un fichier CSV :</p> <p>On récupère ci-dessous la valeur transmise dans l'URL :<br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr">#SET{fabricant,#ENV{fabricant}} </code></p> <p>puis :<br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr"><BOUCLE_csvref(DATA){source csv, #CHEMIN{stock/nomfichier.csv}} {fabricant=#GET{fabricant}} {par /0}{pagination 50}></code></p> <p>Elle permet de chercher dans <br class="autobr"> <code class="spip_code spip_code_inline" dir="ltr"> ?page=recherche&fabricant=nomfabricant</code></p> <p>D'après les précieux conseils de Fil, en utilisant == plutôt que = , au lieu de chercher<br class="autobr"> un fabricant par son nom précis, on recherche par une sous-partie du nom (exemple pour le fabricant 3COM , &fabricant=3C donnera 3COM).</p> <p><code class="spip_code spip_code_inline" dir="ltr"><BOUCLE_csvref(DATA){source csv, #CHEMIN{stock/nomfichier.csv}} {fabricant==#GET{fabricant}} {par /0}{pagination 50}></code><br class="autobr"> Question résolue<small class="fine d-inline"> </small>!</p> Les Itérateurs pour SPIP 2.1 2011-03-29T10:51:19Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment443330 2011-03-29T10:51:19Z <p>Je suis désolée de vous embêter avec mon pb, mais je ne trouve pas comment afficher mon tableau de résultat de recherche. Pour résumer, j'ai bien le nom de mon fabricant dans l'URL, que je stocke dans une variable. Mais je n'arrive pas à afficher un tableau qui ne récupèrerait <i>que</i> les valeurs associées au nom de mon fabricant récupéré.<br class="autobr"> La boucle ci-dessus est la dernière étape atteinte.<br class="autobr"> J'ai vu qu'il existe des éléments d'appel (datapath ou cle). Est-ce que la même chose existe pour un fichier csv<small class="fine d-inline"> </small>? ou dois-je convertir mon stock Excel dans un autre format<small class="fine d-inline"> </small>?<br class="autobr"> Mille mercis pour votre aide.</p> Les Itérateurs pour SPIP 2.1 2011-03-18T11:02:31Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442803 2011-03-18T11:02:31Z <p>çà ne marche pas avec <code class="spip_code spip_code_inline" dir="ltr"><BOUCLE_csvref(DATA){source csv, #CHEMIN{IMG/csv/stock.csv}} {fabricant=#ENV{fabricant}} {par /0} {pagination 50}> </code> ou <code class="spip_code spip_code_inline" dir="ltr"><BOUCLE_csvref(DATA){source csv, #CHEMIN{IMG/csv/stock.csv}} {fabricant=#GET{fabricant}} {par /0}{pagination 50}> </code>(-> recherche infructueuse) mais par contre, le tableau apparait quand je mets ceci :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_csvref(DATA){source csv, #CHEMIN{IMG/csv/stock.csv}, #GET{fabricant}} {par /0}{pagination 50}> <tr> <td>#VALEUR{1}</td><td>#VALEUR{0}</td><td>#VALEUR{4}</td><td>#VALEUR{3}</td> </tr> </BOUCLE_csvref></code></pre></div> <p>Mais le contenu du tableau est vide. On avance, non<small class="fine d-inline"> </small>?</p> Les Itérateurs pour SPIP 2.1 2011-03-18T10:15:13Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442800 2011-03-18T10:15:13Z <p>Bonjour à tous</p> <p>je bute sur un problème :</p> <p>Quid du critere IN avec la boucle (DATA) concernant un scv<small class="fine d-inline"> </small>?</p> <p>En effet, <i>val IN #ENV<i>val</i></i> ne fonctionne pas (#ENV<i>val</i> est un tableau<br class="autobr"> Par contre bien sur <i>val =#ENV<i>val</i></i> fonctionne tant que #ENV<i>val</i> ne contient qu'une valeur.</p> <p>Pour être plus précis, avec le critère IN, la boucle retour tous les résultats.</p> <p>Avez-vous une idée du problème<small class="fine d-inline"> </small>?</p> <p>Merci</p> <p>samsam</p> Les Itérateurs pour SPIP 2.1 2011-03-18T08:04:51Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442775 2011-03-18T08:04:51Z <p>Oui dans ce cas tu peux tenter <code class="spip_code spip_code_inline" dir="ltr">{fabricant=#ENV{fabricant}}</code>.</p> Les Itérateurs pour SPIP 2.1 2011-03-18T07:57:36Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442774 2011-03-18T07:57:36Z <p>Bonjour Fil et merci pour ton aide.<br class="autobr"> Pour ce qui est du serveur actuel, c'est un hébergement de tests. Au final, mon site sera sur un hébergement pro.<br class="autobr"> J'ai donc réduit la taille du csv pour mes tests et je n'ai plus de pb.</p> <p>Pour l'essai avec <code class="spip_code spip_code_inline" dir="ltr">{fabricant?}</code>, çà ne fonctionne pas. Mais je peux récupérer la variable de l'url pour l'affichage du titre de ma page ainsi :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>#SET{fabricant,#ENV{fabricant}} <h4>Produits par fabricant : #GET{fabricant}</h4></code></pre></div> <p>Est-ce que cette variable pourrait être utilisée dans ma boucle<small class="fine d-inline"> </small>? Comment l'écrire dans ce cas<small class="fine d-inline"> </small>?<br class="autobr"> Merci à toi.</p> Les Itérateurs pour SPIP 2.1 2011-03-17T20:55:36Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442764 2011-03-17T20:55:36Z <p>bien donc… pour le timeout… si tu veux un truc super qui fasse tout sur un hébergement gratuit et en moins de 30 secondes, ça risque d'être coton :-)</p> <p>Pour la recherche par fabricant, essaie d'ajouter dans la définition de ta boucle le critère optionnel <code class="spip_code spip_code_inline" dir="ltr">{fabricant?}</code><small class="fine d-inline"> </small>; il se pourrait que ça fonctionne.</p> Les Itérateurs pour SPIP 2.1 2011-03-15T20:58:25Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442645 2011-03-15T20:58:25Z <p>Et puis, j'ai un autre soucis, de taille celui-là : un csv de 12000 lignes, c'est lourd<small class="fine d-inline"> </small>! et j'ai des « <samp>Fatal error : Maximum execution time of 30 seconds exceeded in /var/www/n/na/nat/nathalie.brunelli.perso.sfr.fr/public_html/plugins/auto/iterateurs/inc/csv.php on line 37</samp> »<small class="fine d-inline"> </small>!<br class="autobr"> Bon allez, je vous laisse la main pour la réponse, maintenant<small class="fine d-inline"> </small>!!</p> Les Itérateurs pour SPIP 2.1 2011-03-15T14:43:55Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442624 2011-03-15T14:43:55Z <p>J'avance<small class="fine d-inline"> </small>!</p> <p>Voici le formulaire qui liste mes fabricants :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><div class="formulaire_spip formulaire_recherche" id="formulaire_recherche"> <form action="[(#ENV{action})]" method="get"><div> [(#ENV{action}|form_hidden)] [<input type="hidden" name="lang" value="(#ENV{lang})" />] <B_csvrecherche> <select name="fabricant" class="selectfabricant"> <BOUCLE_csvrecherche(DATA){source csv, #CHEMIN{IMG/csv/stock.csv}}{par /1}{fusion /1} > <option value="#VALEUR{1}">#VALEUR{1}</option> </BOUCLE_csvrecherche> </select> <input type="submit" class="btnsubmit" value="" title="<:info_rechercher:>" /> </B_csvrecherche> </div> </form> </div></code></pre></div> <p>Du coup, l'item sélectionné est bien passé dans l'url (/spip.php<small class="fine d-inline"> </small>?page=recherche&fabricant=ASTEC). Maintenant, je dois afficher le résultat dans la page recherche et ma boucle ne fonctionne pas : la réponse est toujours « Recherche infructueuse » :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[(#REM) Référence de produits trouvees ] <B_csvref> #ANCRE_PAGINATION <h4>Produits par fabricant (#GRAND_TOTAL)</h4> <table border="1" width="630px"> <tr> <td>Fabricant</td><td>R&eacute;f&eacute;rence</td><td>Descriptif</td><td>Quantit&eacute; en stock</td> </tr> <BOUCLE_csvref(DATA){recherche}{source csv, #CHEMIN{IMG/csv/stock.csv}}{par /0}{pagination 50}> <tr> <td>#VALEUR{1}</td><td>#VALEUR{0}</td><td>#VALEUR{4}</td><td>#VALEUR{3}</td> </tr> </BOUCLE_csvref> </tr> </table> [<p class="pagination">(#PAGINATION)</p>] </B_csvref> (Recherche infructueuse) <//B_csvref></code></pre></div> <p>Comment relier la valeur transmise dans l'url dans cette boucle d'affichage<small class="fine d-inline"> </small>? Merci d'avance<small class="fine d-inline"> </small>!</p> Les Itérateurs pour SPIP 2.1 2011-03-15T12:49:05Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442615 2011-03-15T12:49:05Z <p>Désolée d'avoir posté un message si long...<br class="autobr"> J'ai résolu mon histoire de doublons avec le critère fusion ainsi :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><form action="???" method="get"> <div> [<input type="hidden" name="lang" value="(#ENV{lang})" />] <B_csvrecherche> <select name="fabricant"> <BOUCLE_csvrecherche(DATA){source csv, #CHEMIN{IMG/csv/stock.csv}}{par /1}{fusion /1} > <option value="#VALEUR{1}">#VALEUR{1}</option> </BOUCLE_csvrecherche> </select> <input type="submit" class="btnsubmit" value="<:info_rechercher:>" title="<:info_rechercher:>" /> </B_csvrecherche> </div> </form></code></pre></div> <p>Reste que je ne sais pas comment pourrait se coder la suite.</p> Les Itérateurs pour SPIP 2.1 2011-03-15T10:49:05Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment442607 2011-03-15T10:49:05Z <p>Ce projet est absolument énorme<small class="fine d-inline"> </small>! Et il ouvre des perspectives hallucinantes.<br class="autobr"> Je m'intéresse aux itérateurs (et je n'ai même pas peur, malgré mes très faibles connaissances en programmation<small class="fine d-inline"> </small>!!) et j'ai un pb à vous soumettre.<br class="autobr"> Je dispose d'un fichier de stock de pièces (12000 lignes environ) que mon client souhaite mettre en ligne sur son site. Après avoir écumé les solutions de Catalogue (pas adapté car mon client doit mettre à jour son stock quotidiennement et souhaite limiter au max ses interventions) et Fulltext (qui ne fonctionne que sur PDF et ne permet pas de sortir les infos du document pour les afficher) je soupçonne les itérateurs d'être LA solution.</p> <p>Je souhaite proposer un module de recherche sur ce fichier (voui voui). J'ai déjà réussi à extraire du stock.csv les données par Fabricant et par Référence, à mettre tout çà dans un joli tableau et géré la pagination. C'est déjà exceptionnel.<br class="autobr"> Maintenant, je me dis que ce serait super si je pouvais mettre en place un menu déroulant qui récupèrerait la liste des fabricants présents dans mon fichier (mais un même fabricant peut apparaître jusqu'à 1000 fois, donc il faut certainement exclure les doublons) et un champ input dans lequel on saisirait directement la réf cherchée. Mon résultat serait alors affiché avec ma fameuse boucle<small class="fine d-inline"> </small>!</p> <p>Seulement là, je coince très sérieusement... Est-ce que quelqu'un pourrait m'aider<small class="fine d-inline"> </small>? Parce qu'il faudrait passer le contenu du champ de recherche dans une moulinette que je suis incapable d'écrire...</p> <p>Voici donc ma boucle qui va bien :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><B_csvref> <div class="menu"> <h4><:reference:> (#GRAND_TOTAL)</h4> <table border="1" width="630px"> <tr> <td><:reference:></td><td><:descriptif:></td><td><:fabricant:></td><td><:quantite-en-stock:></td> </tr> <BOUCLE_csvref(DATA){source csv, #CHEMIN{IMG/csv/stock.csv}}{par /0}{pagination 50}> <tr> <td>#VALEUR{0}</td><td>#VALEUR{4}</td><td>#VALEUR{1}</td><td>#VALEUR{3}</td> </tr> </BOUCLE_csvref> </tr> </table> #PAGINATION </div> </B_csvref> (pas de données) <//B_csvref></code></pre></div> <p>Et une idée du tableau</p> <table class="table spip"> <tbody> <tr class="row_odd odd"> <td>Part_Number</td> <td>Manufacturer</td> <td>Condition</td> <td>Quantity</td> <td>Description</td> <td>Famille</td> <td>sous Famille</td></tr> <tr class="row_even even"> <td>171385-001</td> <td>HP</td> <td>REF</td> <td>59</td> <td>32MB cache Memory SA53xx</td> <td>MEMOIRES</td> <td>cache</td></tr> </tbody> </table> <p>Donc, pour me résumer :<br class="autobr"> 1. comment éviter les doublons dans la liste de fabricants qui sera présente dans mon menu déroulant<small class="fine d-inline"> </small>?<br class="autobr"> 2. euh... comment écrire ce qui doit se passer entre le submit et la page de résultats<small class="fine d-inline"> </small>?...<br class="autobr"> ... :-)</p> Les Itérateurs pour SPIP 2.1 2011-02-04T16:47:30Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440555 2011-02-04T16:47:30Z <p>Seigneur, quelle honte ^^"<br class="autobr"> Comme quoi parfois il faut décrocher deux minutes et sortir le nez de son code sinon on ne voit rien...<br class="autobr"> En tout cas, voilà un super plugin qui nous rapproche un peu plus d'une syntaxe full SPIP.<br class="autobr"> C'est du beau travail<small class="fine d-inline"> </small>!</p> Les Itérateurs pour SPIP 2.1 2011-02-04T16:23:45Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440554 2011-02-04T16:23:45Z <p>Pas de problème ici... (il manque un } fermant...)</p> <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code><BOUCLE_categories(DATA){source tableau, #GET{categories}}></code></pre></div> Les Itérateurs pour SPIP 2.1 2011-02-04T16:16:45Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440552 2011-02-04T16:16:45Z <p>Salut<small class="fine d-inline"> </small>!<br class="autobr"> J'ai quelques difficultés à utiliser ce plugin sur des tableaux. Par exemple, le code ci-dessous ne donne aucun résultat de boucle :</p> <div class="precode"><pre class="spip_code spip_code_block language-spipcode" dir="ltr" style="text-align:left;" data-language="spipcode"><code>[(#SET{categories, #ARRAY{1,categorie 1, 2,categorie 2, 3,categorie 3, 4,categorie 4, 5,categorie 5}})] <BOUCLE_categories(DATA){source tableau, #GET{categories}> <h2>#VALEUR</h2> [...] </BOUCLE_categories></code></pre></div> <p>Faut-il impérativement déclarer un tableau php global<small class="fine d-inline"> </small>?</p> Les Itérateurs pour SPIP 2.1 2011-02-02T08:34:45Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440426 2011-02-02T08:34:45Z <p>Merci beaucoup, ça fonctionne<small class="fine d-inline"> </small>!</p> Les Itérateurs pour SPIP 2.1 2011-01-30T18:24:45Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440285 2011-01-30T18:24:45Z <p>Au hasard, chercher «<small class="fine d-inline"> </small>php5 free.fr<small class="fine d-inline"> </small>» sur un moteur de recherche... Tout est expliqué...</p> Les Itérateurs pour SPIP 2.1 2011-01-30T15:05:27Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440276 2011-01-30T15:05:27Z <p>Bonjour,</p> <p>Je souhaite installer la dernière version de ckeditor sur mes sites spip hébergés chez Free. J'ai bien noté qu'Itérateurs demandait la version 5.1 de PHP. Or le phpinfo de Free indique la version 4.4.3-dev. J'obtiens donc la même erreur que beaucoup « à la ligne 32 ».</p> <p>Que faire d'après vous<small class="fine d-inline"> </small>?<br class="autobr"> Merci par avance<small class="fine d-inline"> </small>!!!<br class="autobr"> Michel</p> Les Itérateurs pour SPIP 2.1 2011-01-27T23:19:55Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440176 2011-01-27T23:19:55Z <p>boulet , boulet, triple boulet que je suis, j'ai fait une faute de frappe mon mon fichier .htaccess pour déclarer ma version de php. Car chez OVH il faut impérativement choisir sa version de php que l'on veut.</p> <p>Merci beaucoup à tous ceux qui mon répondu<small class="fine d-inline"> </small>!</p> <p>A+</p> Les Itérateurs pour SPIP 2.1 2011-01-27T20:12:36Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440166 2011-01-27T20:12:36Z <p>Y a pas de raison... (<a href="http://www.phpfreaks.com/forums/php-coding-help/parse-error-syntax-error-unexpected-%27%27-expecting-t_variable-or-%27$%27-in-apag/" class="spip_url spip_out auto" rel="nofollow external">http://www.phpfreaks.com/forums/php-coding-help/parse-error-syntax-error-unexpected-%27%27-expecting-t_variable-or-%27$%27-in-apag/</a>) parle de la même erreur... mais pas sous PHP5.</p> <p>La page <code class="spip_code spip_code_inline" dir="ltr">ecrire/?exec=info</code><strong> du même</strong> SPIP qui a le plugin itérateurs en erreur indique bien cette version de PHP<small class="fine d-inline"> </small>?</p> Les Itérateurs pour SPIP 2.1 2011-01-27T19:40:24Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440163 2011-01-27T19:40:24Z <p>J'ai testé la version de php actif et je suis en PHP Version 5.2.17. Je ne sais donc pas pourquoi j'ai ce message d'erreur<small class="fine d-inline"> </small>?<br class="autobr"> Si quelqu'un a une idée, merci d'avance.</p> Les Itérateurs pour SPIP 2.1 2011-01-25T21:16:36Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440070 2011-01-25T21:16:36Z <p>Tiens... déjà des plugins qui demandent les itérateurs<small class="fine d-inline"> </small>? sympa.</p> <p>Sinon, ton erreur, c'est que Itérateurs nécessite PHP 5.1 (je suppose sans regarder la ligne).</p> Les Itérateurs pour SPIP 2.1 2011-01-25T11:51:16Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment440033 2011-01-25T11:51:16Z <p>Bonjour à tous,<br class="autobr"> Je voulais installer dans mon spip 2.1.8 le plugin ckeditor dans ca version 3.4.2 mais il me demande l'installation du plugin ITERATEURS version 0.2.4 mini.<br class="autobr"> J'ai donc installé ce plugin dans sa version 0.2.5. Mais dès que je l'active je perd la mise en plage et en bas de page j'ai le message d'erreur suivant :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>Parse error: syntax error, unexpected '&', expecting T_VARIABLE or '$' in /homez.218/XXXXXX/www/test/plugins/auto/iterateurs/iterateurs_fonctions.php on line 32</code></pre></div> <p>J'ai modifier une partie du chemin par des XXX pour plus de confidentialité. <br class="autobr"> Avez vous une idée pour résoudre ce problème<small class="fine d-inline"> </small>?<br class="autobr"> Merci d'avance ci vous avez une idée, car les fonctionnalités permise par ce plugin me semble pouvoir faire passer une grande étape à spip dans son développement.<br class="autobr"> A+</p> Les Itérateurs pour SPIP 2.1 2011-01-18T16:47:39Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439618 2011-01-18T16:47:39Z <p>Alors résultat des courses : <br class="autobr"> Fonctionne à partir de la 2.1.6<br class="autobr"> Pour les sites antérieurs, rien à faire...</p> Les Itérateurs pour SPIP 2.1 2011-01-18T09:06:45Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439601 2011-01-18T09:06:45Z <p>Pas mieux pour moi en 0.2.5... :(<br class="autobr"> Concernant la mémoire, mon serveur est assez bien pourvu, donc je ne pense pas.</p> Les Itérateurs pour SPIP 2.1 2011-01-18T09:00:43Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439599 2011-01-18T09:00:43Z <p>@matthieu : C'est bien quelqu'un d'autre sur spip-zone et j'ai aussi le même souci que Yffic.<br class="autobr"> Je vais vite tester la mise à jour</p> Les Itérateurs pour SPIP 2.1 2011-01-17T12:38:36Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439539 2011-01-17T12:38:36Z <p>Que de belles promesses avec ce plugin pour nos sites. Bravo.</p> <p>J'ai tout de même d'ors et déjà 2 interrogations : <br>- Tout comme son ancêtre boucle_xml, est-il possible ou pas d'interroger des xml « distants », c'est à dire en mentionnant un lien http plutôt qu'une #CHEMIN<i>fichier_local.xml</i> dans la boucle<small class="fine d-inline"> </small>? Astuces<small class="fine d-inline"> </small>? Hack<small class="fine d-inline"> </small>? Parce qu'en l'état, j'ai testé et ça me retourne un String could not be parsed as XML alors que le même fichier en local au moins ne fait pas râler spip.</p> <p>- et deuxièmement, mais je n'ai peut-être pas encore tout assimilé, on peut utiliser un #TOTAL_BOUCLE pour compter le nombre d'occurences dans un fichier xml. Je suis tout sauf fortiche en XML, si vous avez un exemple de boucles qui feraient ça, je suis preneur.</p> Les Itérateurs pour SPIP 2.1 2011-01-16T11:53:20Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439481 2011-01-16T11:53:20Z <p>Bonjour,<br class="autobr"> j'ai installe le plugins dans spip2.1.8 et j'ai le message suivant<br class="autobr"> Parse error : parse error, expecting <code class="spip_code spip_code_inline" dir="ltr">T_VARIABLE' or</code>'$'' in j :\serveur_eval\www\spipvttl\plugins\auto\iterateurs\iterateurs_fonctions.php on line 32</p> Les Itérateurs pour SPIP 2.1 2011-01-14T19:34:33Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439427 2011-01-14T19:34:33Z <p>Super, merci a toi</p> Les Itérateurs pour SPIP 2.1 2011-01-14T12:48:04Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439403 2011-01-14T12:48:04Z <p>Tu testeras la version 0.2.4, sait-on jamais :)</p> Les Itérateurs pour SPIP 2.1 2011-01-14T12:47:34Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439402 2011-01-14T12:47:34Z <p>Corrigé en version 0.2.4,</p> <p>Merci.</p> Les Itérateurs pour SPIP 2.1 2011-01-14T11:19:52Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439399 2011-01-14T11:19:52Z <p>Celui là, je le reproduis...</p> Les Itérateurs pour SPIP 2.1 2011-01-14T11:12:52Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439398 2011-01-14T11:12:52Z <p>Hello</p> <p>J'essaye d'insérer le formulaire issu du plugin Contacts Avancés dans un article en mettant dans la zone texte :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><formulaire|contact></code></pre></div> <p>Avec uniquement « Contacts Avances » et Bonux, le formulaire s'affiche. Si j'active Iterateur, ca m'affiche ceci :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><?php include_once("./" . _DIR_RACINE . "ecrire/balise/formulaire_.php"); if ($lang_select = "fr") $lang_select = lang_select($lang_select); inserer_balise_dynamique(balise_FORMULAIRE__dyn('FORMULAIRE_CONTACT'), array('', '', '', '', 'fr')); if ($lang_select) lang_select(); ?></code></pre></div> <p>Spip et plugins svn frais d'hier</p> Les Itérateurs pour SPIP 2.1 2011-01-14T10:05:04Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439392 2011-01-14T10:05:04Z <p>C'est toi sur la liste spip-zone ou c'est quelqu'un qui a le même souci<small class="fine d-inline"> </small>? <a href="http://thread.gmane.org/gmane.comp.web.spip.zone/21736" class="spip_url spip_out auto" rel="nofollow external">http://thread.gmane.org/gmane.comp.web.spip.zone/21736</a></p> <p>C'est peut être un problème de mémoire insuffisante<small class="fine d-inline"> </small>? ou de perte de langue parfois avec itérateurs<small class="fine d-inline"> </small>?</p> Les Itérateurs pour SPIP 2.1 2011-01-14T08:37:59Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439387 2011-01-14T08:37:59Z <p>Bonjour Matthieu,<br class="autobr"> Ma version est la 5.1.6, j'ai testé et rencontré le même problème avec la 5.2.11...et c'est vraiment vraiment lier au plugin iterateur...</p> Les Itérateurs pour SPIP 2.1 2011-01-13T15:12:23Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439343 2011-01-13T15:12:23Z <p>Alors pour répondre à ta question : quelqu'un a eu le problème (akilo) mais pas avec les Itérateurs<small class="fine d-inline"> </small>! Il a eu le problème, comme ça, sans raison apparente, sans plugin, sur quelques chaines de langues de SPIP. De mémoire il a corrigé en réinstallant les fichiers de SPIP.</p> <p>Pourrais tu nous dire ta version de PHP<small class="fine d-inline"> </small>? (exec=info dans le privé)</p> Les Itérateurs pour SPIP 2.1 2011-01-13T13:48:12Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439334 2011-01-13T13:48:12Z <p>J'ai fait quelque tests sur plusieurs sites (de version différentes ), et le problème se reproduit à chaque fois, même sans autre plugin...</p> <p>Je suis le seul à avoir ce souci<small class="fine d-inline"> </small>? c'est curieux quand même non<small class="fine d-inline"> </small>?</p> <p>Du coup j'ai du le désactiver...<br class="autobr"> C'est pourtant un outil génial, j'aimerais juste savoir par ou commencer à chercher...les surcharge de public/<small class="fine d-inline"> </small>?</p> <p>Sam</p> Les Itérateurs pour SPIP 2.1 2011-01-12T10:18:18Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439262 2011-01-12T10:18:18Z <p>En fait non, désactiver le plugin form & table ne change rien...</p> Les Itérateurs pour SPIP 2.1 2011-01-12T09:43:14Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439259 2011-01-12T09:43:14Z <p>Par ailleurs cela provoque des pétouilles avec le plugin forms&table(3.0.5), peut-être que l'incompatibilité vient de la...</p> Les Itérateurs pour SPIP 2.1 2011-01-12T09:19:20Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439257 2011-01-12T09:19:20Z <p>Oui oui, en le désactivant, tout reviens dans l'ordre.<br class="autobr"> C'est peut-être du à une incompatibilité avec un autre plugin<small class="fine d-inline"> </small>?</p> Les Itérateurs pour SPIP 2.1 2011-01-11T21:33:12Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439234 2011-01-11T21:33:12Z <p>En fait je n'avais pas vu le dossier de démo... Y'a plein d'exemples dedans, c'est parfait. Encore bravo pour cette écriture qui simplifie la vie... Sans compter le nouveau critère si qui évite l'utilisation de la boucle CONDITION... Bref, merci</p> Les Itérateurs pour SPIP 2.1 2011-01-11T20:57:11Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439232 2011-01-11T20:57:11Z <p>Oui c'est un usage typique. Note qu'on vient de modifier un peu la syntaxe et qu'il vaut mieux désormais utiliser :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_ls(DATA){source glob, #CHEMIN{images/separateurs}/*}{par hasard}{0,1}> <img src="#VALEUR" alt="" /> </BOUCLE_ls></code></pre></div> <p>J'ajoute aussi que si on veut manipuler des attributs des fichiers (date de création, de modification, taille, extension etc.) on peut utiliser le format <code class="spip_code spip_code_inline" dir="ltr">ls</code> à la place de <code class="spip_code spip_code_inline" dir="ltr">glob</code>.</p> Les Itérateurs pour SPIP 2.1 2011-01-11T20:55:40Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439231 2011-01-11T20:55:40Z <p>Peux-tu confirmer que cette erreur est liée au plugin<small class="fine d-inline"> </small>? Je n'ai rien de tel chez moi.</p> Les Itérateurs pour SPIP 2.1 2011-01-11T20:55:03Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439230 2011-01-11T20:55:03Z <p>Merci c'est réparé (le fichier <code class="spip_code spip_code_inline" dir="ltr">.htaccess</code> de SPIP-Contrib n'était pas à jour).</p> Les Itérateurs pour SPIP 2.1 2011-01-10T13:08:35Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439121 2011-01-10T13:08:35Z <p>Bonjour, et merci pour ce formidable outil<small class="fine d-inline"> </small>!</p> <p>Juste une remarque :<br class="autobr"> Une fois activé sur une 2.1.0, il semble y avoir un problème sur la gestion des fichiers lang.<br class="manualbr">En effet, certains textes sont modifiés, comme par exemple :</p> <p>« texte modifier article » au lieu de « Modifier l'article : » dans la page exec=articles_edit<br class="manualbr">Ou encore les boutons d'admin en public, comme « admin recalculer » au lieu de « recalculer cette page ».</p> <p>Je vais jeter un coup d'oeil, mais si vous avez une piste...</p> Les Itérateurs pour SPIP 2.1 2011-01-10T12:29:07Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439119 2011-01-10T12:29:07Z <p>Petit détail : le lien vers spip-contrib dans le fichier plugin.xml est invalide.<br class="autobr"> <a href="http://www.spip-contrib.net/3667" class="spip_url spip_out auto" rel="nofollow external">http://www.spip-contrib.net/3667</a></p> Les Itérateurs pour SPIP 2.1 2011-01-10T10:40:20Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment439107 2011-01-10T10:40:20Z <p>Petit exemple pour afficher une image au hasard dans un répertoire :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_ls(DATA){datasource #CHEMIN{images/separateurs}/*,glob}{par hasard}{0,1}> <img src="#VALEUR" alt="" /> </BOUCLE_ls></code></pre></div> Les Itérateurs pour SPIP 2.1 2010-12-30T19:19:16Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment438649 2010-12-30T19:19:16Z <p>Re- bonjour,</p> <p>Dès que se dessine « l'ombre d'une éclaircie », je m'y mets... l'envie est trop grande<small class="fine d-inline"> </small>!<br class="autobr"> Merci pour cette réponse.</p> <p>Bonne fin d'année,<br class="autobr"> KMk.</p> Les Itérateurs pour SPIP 2.1 2010-12-30T17:42:50Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment438642 2010-12-30T17:42:50Z <p>Zotero est sans aucun doute interrogeable, mais il faudrait trouver exactement comment (sa doc <a href="http://www.zotero.org/support/dev/server_api" class="spip_url spip_out" rel='nofollow external'>http://www.zotero.org/support/dev/s...</a> n'est pas super claire, ne donnant aucun exemple concret).</p> <p>Visiblement leur API renvoie des résultats au format ATOM, du coup on peut déjà par exemple lister les éléments d'un utilisateur via :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_zotero(DATA) {datasource https://api.zotero.org/users/14509/items,atom}> <hr /> [(#VALEUR|print{<br />})] </BOUCLE_zotero></code></pre></div> <p>mais ce n'est pas très différent d'un flux de syndication... on peut sûrement faire beaucoup plus intéressant.</p> Les Itérateurs pour SPIP 2.1 2010-12-30T16:40:06Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment438638 2010-12-30T16:40:06Z <p>Bonjour, Fil, bonjour, Matthieu,</p> <p>Je prendrai le temps de tester cet ensemble de fonctionnalités dès qu'un moment se libèrera. Je lis qu'avec <i>booksearch</i>, on peut pointer sur le webservice d'<i>Amazone</i>, ce qui m'intéresse au plus haut point<small class="fine d-inline"> </small>! Cette connexion serait-elle possible (en théorie, ou avec un peu d'huile de coude) avec une application comme <a href="http://www.zotero.org/" class="spip_out" rel='nofollow external'>zotéro</a><small class="fine d-inline"> </small>?</p> <p>J'ai parcouru très rapidement les différentes publications, mais il me faudra du temps pour que j'entre dans la logique de tout cela. Vous signalez, en début d'article :</p> <blockquote class="spip"> <p>... de regarder les nombreuses démos disponibles à l'adresse spip.php<small class="fine d-inline"> </small>?page=demo/iterateurs.</p> </blockquote> <p>Faites-vous référence à d'autres pages<small class="fine d-inline"> </small>?</p> <p>Quoi qu'il en soit, félicitations pour ce bond en avant<small class="fine d-inline"> </small>! Comme cela, en fin d'année, c'est comme mettre un pied sur mars en 2011<small class="fine d-inline"> </small>!!!</p> <p>Bonne continuation<small class="fine d-inline"> </small>!<br class="autobr"> KMk</p> Les Itérateurs pour SPIP 2.1 2010-12-30T12:17:30Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment438623 2010-12-30T12:17:30Z <p>Je voulais juste dire un grand merci pour ce superbe plugins qui laisse augurer de grandes choses pour la prochaine version de Spip...</p> Les Itérateurs pour SPIP 2.1 2010-12-30T10:54:13Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment438621 2010-12-30T10:54:13Z <p>Rectification... <code class="spip_code spip_code_inline" dir="ltr">glob()</code> c'est 4.3 pas 5.3... reste que les itérateurs, c'est PHP 5 qu'il faut. Nous allons le mentionner.</p> Les Itérateurs pour SPIP 2.1 2010-12-30T10:53:47Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment438620 2010-12-30T10:53:47Z <p>Non, pas glob<small class="fine d-inline"> </small>! glob fonctionne à partir de (PHP 4 >= 4.3.0, PHP 5)</p> Les Itérateurs pour SPIP 2.1 2010-12-30T10:50:43Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment438617 2010-12-30T10:50:43Z <p>N'oublions pas de dire qu'il faut PHP 5.1 minimum :) ... Et 5.3 pour utiliser <code class="spip_code spip_code_inline" dir="ltr">glob()</code> il me semble.</p> Les Itérateurs pour SPIP 2.1 2010-12-30T10:35:24Z https://files.spip.org/Les-Iterateurs-pour-SPIP-2-1#comment438616 2010-12-30T10:35:24Z <p>Humm<br class="autobr"> sur un spip tout neuf avec les plugins agenda , bonux ,cfg et crayons j'ai</p> <p>Parse error : syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/www/monsite/www/agenda/plugins/auto/iterateurs/public/iterateur.php on line 23.</p> <p>Les modifications du 30/12 réparent ça où c'est autre chose.</p> <p>En tout cas cette série de plugins à l'air très prometteuse .</p>