ARRAY

Bonsoir,
j'ai un soucis pour mettre en oeuvre l'exemple de l'article :
http://www.spip.net/fr_article4009.html#ARRAY

j'essaie avec ce que j'ai sous la main, à savoir une table externe à spip.

#SET{cat,#ARRAY}
<BOUCLE_setcat(botins_categories){par titre}>
[(#SET{cat,#GET{cat|push{#TITRE}}})]
</BOUCLE_setcat>
[(#GET{cat}|foreach)]

la balise [(#GET{cat}|foreach)] ne retourne rien. alors que j'attends les valeur "Associations" et "Professionnels",
à tout hasard j'ai essayé aussi avec |array_merge mais rien de mieux.

j'essaie de récupérer ces valeurs du tableau pour les réutiliser dans une autre boucle,
<BOUCLE_art(ARTICLES){titre_mot IN #GET{cat}}>
..........
comme indiqué à la section :
Utiliser le tableau dans une boucle avec l’opérateur IN
voila je sèche à la première étape celle de construire le tableau,
y a t-il des précautions particulières à prendre ?
Merci d'avance

Salut,

Au cas ou, tu as essayé de vérifier si le titre était bien là ?

#SET{cat,#ARRAY}
<BOUCLE_setcat(botins_categories){par titre}>
#TITRE<br />
[(#SET{cat,#GET{cat|push{#TITRE}}})]
</BOUCLE_setcat>

Pour être sur qu'il se remplit.

Sinon, avec bonux : SPIP Bonux - SPIP-Contrib

#SET_PUSH{cat,#TITRE}

ET ensuite une boucle POUR

<BOUCLE_elements(POUR){tableau #GET{cat}}>
#CLE=>#VALEUR<br />
</BOUCLE_elements>

Ça répond pas concernant Spip2 sans bonux , mais bon :).

Denis
Le 18/01/2012 16:52, freebsnet a écrit :

Bonsoir,
j'ai un soucis pour mettre en oeuvre l'exemple de l'article :
#ARRAY - SPIP

j'essaie avec ce que j'ai sous la main, à savoir une table externe à
spip.

[(#GET{cat}|foreach)]

la balise [(#GET{cat}|foreach)] ne retourne rien. alors que j'attends
les valeur "Associations" et "Professionnels",
à tout hasard j'ai essayé aussi avec |array_merge mais rien de mieux.

j'essaie de récupérer ces valeurs du tableau pour les réutiliser dans
une autre boucle,
<BOUCLE_art(ARTICLES){titre_mot IN #GET{cat}}>
..........
comme indiqué à la section :
Utiliser le tableau dans une boucle avec l’opérateur IN
voila je sèche à la première étape celle de construire le tableau,
y a t-il des précautions particulières à prendre ?
Merci d'avance

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Bonjour,

Il me semble avoir vu récemment un exemple avec #SET et #SET_PUSH...

----------
Teddy Payet

Le 18 janv. 2012 à 16:52, freebsnet <freebsnet@free.fr> a écrit :

Bonsoir,
j'ai un soucis pour mettre en oeuvre l'exemple de l'article :
#ARRAY - SPIP

j'essaie avec ce que j'ai sous la main, à savoir une table externe à spip.

#SET{cat,#ARRAY}
<BOUCLE_setcat(botins_categories){par titre}>
[(#SET{cat,#GET{cat|push{#TITRE}}})]
</BOUCLE_setcat>
[(#GET{cat}|foreach)]

la balise [(#GET{cat}|foreach)] ne retourne rien. alors que j'attends les valeur "Associations" et "Professionnels",
à tout hasard j'ai essayé aussi avec |array_merge mais rien de mieux.

j'essaie de récupérer ces valeurs du tableau pour les réutiliser dans une autre boucle,
<BOUCLE_art(ARTICLES){titre_mot IN #GET{cat}}>
..........
comme indiqué à la section :
Utiliser le tableau dans une boucle avec l’opérateur IN
voila je sèche à la première étape celle de construire le tableau,
y a t-il des précautions particulières à prendre ?
Merci d'avance

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 18 janvier 2012 16:52, freebsnet <freebsnet@free.fr> a écrit :

[(#SET{cat,#GET{cat|push{#TITRE}}})]

??? heu le problème est là: [(#SET{cat,#GET{cat|push{#TITRE}}})]

Les filtres, comme "|push" s'appliquent sur les balises. ex.:
#BALISE|push ou encore
#AUTRE_BALISE{parametre_balise}|push{parametre_push}

Donc ici il te faut écrire:

[(#SET{cat,[(#GET{cat}|push{#TITRE})]})]

(perso, je préfère mettre l'écriture complète des balises, c'est à
dire avec les crochets et parenthèses à chaque fois)

--
Beurt

Je crois que c bonux qui fait ça.
Plus généralement, le couteau suisse (lame "Balise #SET étendue") permet d'utiliser :
     #SET_XXX{titi, toto}
au lieu de :
     #SET{titi,#GET{titi|xxx{toto}}}
Pat

Le 18/01/2012 16:57, Teddy Payet a écrit :

Bonjour,

Il me semble avoir vu récemment un exemple avec #SET et #SET_PUSH...

----------
Teddy Payet

Le 18 janv. 2012 à 16:52, freebsnet<freebsnet@free.fr> a écrit :

Bonsoir,
j'ai un soucis pour mettre en oeuvre l'exemple de l'article :
#ARRAY - SPIP

j'essaie avec ce que j'ai sous la main, à savoir une table externe à spip.

#SET{cat,#ARRAY}
<BOUCLE_setcat(botins_categories){par titre}>
[(#SET{cat,#GET{cat|push{#TITRE}}})]
</BOUCLE_setcat>
[(#GET{cat}|foreach)]

la balise [(#GET{cat}|foreach)] ne retourne rien. alors que j'attends les valeur "Associations" et "Professionnels",
à tout hasard j'ai essayé aussi avec |array_merge mais rien de mieux.

j'essaie de récupérer ces valeurs du tableau pour les réutiliser dans une autre boucle,
<BOUCLE_art(ARTICLES){titre_mot IN #GET{cat}}>
..........
comme indiqué à la section :
Utiliser le tableau dans une boucle avec l’opérateur IN
voila je sèche à la première étape celle de construire le tableau,
y a t-il des précautions particulières à prendre ?
Merci d'avance

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Bonjour à tous,
Merci Teddy, Pat, Denis et Beurt pour votre aide.
Finalement en assemblant vos propositions et conseils j'ai passé l'étape de la construction du tableau.
Effectivement avec spip-bonux et une boucle (POUR) ça marche comme sur des roulettes.
donc le code qui va bien est celui-ci :
#SET{cat,#ARRAY}
<BOUCLE_setcat(botins_categories){par titre}>
[(#SET{cat,[(#GET{cat}|push{#TITRE})]})]
</BOUCLE_setcat>
<BOUCLE_elements(POUR){tableau #GET{cat}}>
<BOUCLE_art(ARTICLES){titre_mot=#_elements:VALEUR}>
.......
</BOUCLE_art>
cordialement

Le 19/01/2012 02:00, PatV a écrit :

Je crois que c bonux qui fait ça.
Plus généralement, le couteau suisse (lame "Balise #SET étendue") permet d'utiliser :
    #SET_XXX{titi, toto}
au lieu de :
    #SET{titi,#GET{titi|xxx{toto}}}
Pat

Le 18/01/2012 16:57, Teddy Payet a écrit :

Bonjour,

Il me semble avoir vu récemment un exemple avec #SET et #SET_PUSH...

----------
Teddy Payet

Le 18 janv. 2012 à 16:52, freebsnet<freebsnet@free.fr> a écrit :

Bonsoir,
j'ai un soucis pour mettre en oeuvre l'exemple de l'article :
#ARRAY - SPIP

j'essaie avec ce que j'ai sous la main, à savoir une table externe à spip.

#SET{cat,#ARRAY}
<BOUCLE_setcat(botins_categories){par titre}>
[(#SET{cat,#GET{cat|push{#TITRE}}})]
</BOUCLE_setcat>
[(#GET{cat}|foreach)]

la balise [(#GET{cat}|foreach)] ne retourne rien. alors que j'attends les valeur "Associations" et "Professionnels",
à tout hasard j'ai essayé aussi avec |array_merge mais rien de mieux.

j'essaie de récupérer ces valeurs du tableau pour les réutiliser dans une autre boucle,
<BOUCLE_art(ARTICLES){titre_mot IN #GET{cat}}>
..........
comme indiqué à la section :
Utiliser le tableau dans une boucle avec l’opérateur IN
voila je sèche à la première étape celle de construire le tableau,
y a t-il des précautions particulières à prendre ?
Merci d'avance

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Salut,

Le 19 janvier 2012 10:22, freebsnet <freebsnet@free.fr> a écrit :

Effectivement avec spip-bonux et une boucle (POUR) ça marche comme sur des
roulettes.

je pense qu'utiliser les itérateurs est plus sage puisqu'intégrés au
core de Spip 3

donc le code qui va bien est celui-ci :
#SET{cat,#ARRAY}
<BOUCLE_setcat(botins_categories){par titre}>
[(#SET{cat,[(#GET{cat}|push{#TITRE})]})]
</BOUCLE_setcat>
<BOUCLE_elements(POUR){tableau #GET{cat}}>
<BOUCLE_art(ARTICLES){titre_mot=#_elements:VALEUR}>
.......
.......
</BOUCLE_art>

Au fond je n'ai pas bien compris pourquoi tu ne fais plus simple, du genre:

<BOUCLE_setcat(botins_categories){par titre}>
  <BOUCLE_art(ARTICLES){titre_mot=#_setcat:TITRE}>
.......
.......
  </BOUCLE_art>
</BOUCLE_setcat>

@+

--
Beurt

Bonjour,

Le 19/01/2012 19:22, Beurt a écrit :

Salut,

Le 19 janvier 2012 10:22, freebsnet<freebsnet@free.fr> a écrit :

Effectivement avec spip-bonux et une boucle (POUR) ça marche comme sur des
roulettes.

je pense qu'utiliser les itérateurs est plus sage puisqu'intégrés au
core de Spip 3

merci

donc le code qui va bien est celui-ci :
#SET{cat,#ARRAY}
<BOUCLE_setcat(botins_categories){par titre}>
[(#SET{cat,[(#GET{cat}|push{#TITRE})]})]
</BOUCLE_setcat>
<BOUCLE_elements(POUR){tableau #GET{cat}}>
<BOUCLE_art(ARTICLES){titre_mot=#_elements:VALEUR}>
.......
</BOUCLE_art>

Au fond je n'ai pas bien compris pourquoi tu ne fais plus simple, du genre:

<BOUCLE_setcat(botins_categories){par titre}>
  <BOUCLE_art(ARTICLES){titre_mot=#_setcat:TITRE}>
.......
  </BOUCLE_art>
</BOUCLE_setcat>

@+

Au départ j'avais commencé comme tu le propose et je pensais que ça serait simple,
mais de fil en aiguille ça c'est transformé en usine à gaz pour répondre aux besoins.
maintenant comment expliquer cette usine à gaz à tous ?
pour un coup de main et simplifier le biniou, ça c'est pas évident non plus.
Merci.
@+