[Résolu] Identification problèmes de crochets, parentheses et accolades

Avec le squelette plus bas, SPIP lors du rendu m’inscrit comme texte la condition d’environnement comme ça :
Screenshot 2024-10-23 at 12-02-00 Verti

Je n’arrive pas à identifier d’où vient le problème, je suppose que c’est un problème d’accolades, crochets ou parenthèses, mais je ne suis pas sûr et mes essaies n’ont pas étés concluant. Si un œil expert à un avis sur le sujet, je suis preneur =)

<B_articles>
[(#ENV{page}|=={sommaire}|?{Hello
,        
        #ANCRE_PAGINATION
				<BOUCLE_articles(ARTICLES) {id_rubrique} {!par date}  {0, 999999} {pagination 9}>
					<div class="col-4 col-12-medium">
					    <section class="box feature">
                            <a class="image featured" href="#URL_ARTICLE">[(#LOGO_ARTICLE|sinon{[(#CHEMIN{img/feat_pic.webp}|balise_img)]}|image_proportions{24,17} )]</a>
                            <div class="inner">
                                <header>
                                    <h2><a href="#URL_ARTICLE">#TITRE</a></h2>
                                    #SOUSTITRE
                                </header>
                                [<div class="#EDIT{intro} introduction entry-content">(#INTRODUCTION|couper{125})</div>]
                            </div>
                        </section>
                    </div>
				</BOUCLE_articles>
                [<div class="col-12">
                    <nav role="navigation" class="pagination">(#PAGINATION{prive})</nav>
                </div>]})]
</B_articles>

Ce que tu met comme argument du filtre |? est beaucoup trop compliqué pour que SPIP parvienne à calculer l’argument. Dans le cas général tu pourrais calculer tout à l’avance, mettre cette expression calculée dans un #SET et juste récupèrer sa valeur via un #GET dans l’argument du |?.
Ici j’ai l’impression qu’il n’y a qu’un seul argument, pas de « sinon », donc tu peux plus simplement faire un [(#ENV{page}|=={sommaire}|oui)....le gros truc ].

Mais surtout, tu as une partie <B_articles> de la boucle AVANT le calcul de la balise [(#ENV{page}|==...|? etc, dont l’argument du filtre final CONTIENT la <BOUCLE>.
Ça ne va pas : soit la boucle contient l’expression, soit l’expression contient la boucle, mais un chevauchement n’est pas possible.

La concrètement, il semble possible et plus simple ici d’ajouter un critère {si #ENV{page}|=={sommaire}} à la boucle pour qu’elle ne produise que lorsque tu veux. En mettant la pagination en .col-12 dans la partie avant le </B_articles>.

1 « J'aime »

Bon, j’ai découpé tout ça avec un inclure dans le squelette sommaire qui renvoi à squelette-bis et pour les rubriques à squelette-intiale.

Il faut que je trouve l’équilibre de squelettes entre des mega pages qui font tous et pleins de petit morceaux …

Merci @JLuc


Le résultat sera à voir dans :

La meilleure solution que te propose @JLuc c’est de mettre ce critère dans ta boucle !

J’avais noté mis Hello pour illustrer mon squelette, mais in fine, il y aura une boucle de sélections d’articles. J’ai tenté de m’inspirer de ce morceau de squelette de Future Imperect

Mais après lecture du message de @JLuc je me suis rendu que j’étais dans le faux, car contrairement au squelette d’exemple, je souhaitais différentes boucles et non la même boucle avec un contexte différent.