[Résolu]BOUCLE article ne fonctionne pas sur page unique + identifiant

Bonjour,

Je ne sais par si mon souci vient du plugin Identifiants, Pages uniques ou des requêtes SQL du noyau :wink: .


SPIP 4.1.2 + Pages uniques + Identifiants (à jour).


Ayant créé une page unique avec un identifiant toto, la BOUCLE suivante ne retourne rien :
<BOUCLE(ARTICLES){identifiant=toto}>

Elle fonctionne cependant sur un article « normal » (qui possède une rubrique).

En regardant la requête générée, on vois :
array('>', 'articles.id_rubrique', '"0"'), sql_in('articles.id_article','', 'NOT'));

il y a une référence à id_rubrique=0, alors que les pages uniques on un id_rubrique=-1 et un id_secteur=0:

Ainsi, cela la BOUCLE suivante fonctionne :
<BOUCLE(ARTICLES){identifiant=toto}{id_rubrique='-1'}>

À votre avis, le ticket est à ouvrir où ?

Merci !

Hello,

Explication à la fin de la doc de pages uniques : https://contrib.spip.net/pages-uniques#s-Remarques-techniques-consequence-sur-les-boucles

Les pages unique sont automatiquement exclues des boucles (ARTICLES) sauf si l’un des critères suivant est présents :

  • {tout} ;
  • {page} avec éventuellement des opérateurs ({page=toto}, sauf {page=''} ;
  • {id_rubrique=-1} ou {id_rubrique<0}
  • {id_rubrique} ou {id_rubrique? avec une rubrique égale à -1 dans l’environnement ;
  • {id_article} avec éventuellement des opérateurs :
  • {traduction} et {origine_traduction} avec éventuellement des opérateurs.

Une remarque au passage : si tu n’utilises identifiants que pour les pages uniques (hors articles « normaux »), ça fait un peu double emploi avec le critère page.

Ah oui, j’avais oublié {tout}, merci @tcharlss !

Oui, bien sûr, identifiant peut paraître superflu, sauf qu’une page unique peut être transformée en article, et dans ce cas là, on a plus le critère page, alors que l’identifiant reste.