chryjs
(chryjs)
Janvier 5, 2008, 1:50
1
Bonjour
j'ai un squelette qui contient la portion de code suivante.
Dans certains cas (que je n'arrive pas à isoler) , ce bout de code génère l'erreur :
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /home/xxxxxxxxx/www/ecrire/public/composer.php(48) : eval()'d code on line 41
Y a-t-il nécessité d'initialiser la valeur (avec #ARRAY ?).
NB : SPIP 1.9.2c
<BOUCLE_modo_art(AUTEURS){id_article}>
#SET {modos,#GET {modos}|array_merge{#ARRAY {#COMPTEUR_BOUCLE ,#ID_AUTEUR }}}
</BOUCLE_modo_art>
<BOUCLE_art_rub(ARTICLES){id_article}>
<BOUCLE_rub_admin(AUTEURS_RUBRIQUES){id_auteur !IN #GET {modos}}{id_rubrique=#ID_RUBRIQUE}>
<BOUCLE_aut_admin(AUTEURS){id_auteur}>
#SET {modos,#GET {modos}|array_merge{#ARRAY {#COMPTEUR_BOUCLE ,#_aut_admin:ID_AUTEUR }}}
</BOUCLE_aut_admin>
</BOUCLE_rub_admin>
</BOUCLE_art_rub>
-- Chryjs
chryjs
(chryjs)
Janvier 5, 2008, 2:33
3
Eric L wrote:
Y a-t-il nécessité d'initialiser la valeur (avec #ARRAY ?).
NB : SPIP 1.9.2c
Je pense que oui. Lors de la première boucle et que modos est vide ça coince.
Certes : comment l'initialiser avec un tableau vide ?
<BOUCLE_modo_art(AUTEURS){id_article}>
#SET {modos,#GET {modos}|array_merge{#ARRAY {#COMPTEUR_BOUCLE ,#ID_AUTEUR }}}
</BOUCLE_modo_art>
Ou peut être en inversant les arguments :
#SET {modos,#ARRAY {#COMPTEUR_BOUCLE ,#ID_AUTEUR }|array_merge{#GET {modos}}}
Là je suis sûr que je vais avoir une erreur si #GET {modos} n'a pas été initialisé comme un #ARRAY {} (ça marche ca ?)
<BOUCLE_art_rub(ARTICLES){id_article}>
<BOUCLE_rub_admin(AUTEURS_RUBRIQUES){id_auteur !IN #GET {modos}}{id_rubrique=#ID_RUBRIQUE}>
<BOUCLE_aut_admin(AUTEURS){id_auteur}>
#SET {modos,#GET {modos}|array_merge{#ARRAY {#COMPTEUR_BOUCLE ,#_aut_admin:ID_AUTEUR }}}
</BOUCLE_aut_admin>
Là je ne comprends pas pourquoi tu utilises #_aut_admin:ID_AUTEUR alors que tu te trouves dans la boucle _aut_admin ?
Un #ID_AUTEUR suffirait non ?
Surement Le code en question a une "longue" histoire et plusieurs intervenants...
</BOUCLE_rub_admin>
</BOUCLE_art_rub>
Eric
Je vais testouiller le #ARRAY {} mais je crois me souvenir que cela ne fonctionne pas.
-- Chryjs