Bonjour,
j’ai toujours des problèmes avec la syntaxe de SPIP …
Voici ce que je fais : j’ai stocké (sur les conseils Manu, sur la liste ici) les ID d’articles qui m’intéressaient dans une #ARRAY.
Dans certaines circonstances, je veux pouvoir faire un deuxième tri avec des critères supplémentaires : je veux sélectionner les articles dont le mois et la date ont été déterminés par ailleurs. Je n’ai pas trouvé comment le faire directement dans les critères d’une boucle alors j’ai choisi de le faire avec des conditions à l’intérieur d’une boucle qui parcourt tous les ID. Voici le code
#SET{stock2,#ARRAY}
<BOUCLE_rub_blog2(ARTICLES){id_article IN #GET{stock}}{par date}{inverse}>
#SET{date_blog_test,(#ENV{date_blog}|annee)-(#ENV{date_blog}|mois)}
#SET{date_article_test,(#DATE|annee)-(#DATE|mois)}
[(#GET{date_blog_test}|=={#GET{date_article_test}}|oui) ICI]
#SET{stock2,(#GET{stock2}|push{#ID_ARTICLE})}
</BOUCLE_rub_blog2>
je crée deux variables qui mettent sous la forme année-mois la date à la fois pour mon critère et pour la date issue de l’article.
Puis je fais un test d’égalité |==
Le « ICI » s’affiche le nombre de fois qu’il faut, ce qui semble dire que mon critère fonctionne.
Le #SET en dessous (sur stock2), sorti de la condition, fonctionne aussi, et aboutit à une recopie de la totalité des articles.
Quand je place ce #SET à la place du « ICI », SPIP me trouve une erreur de syntaxe … au niveau du 1er #SET de la boucle dans ce code …
Je n’y comprends rien. Quelqu’un peut m’aider ?
Merci,
Mikhaël