En y réfléchissant un peu, {inclus} pose un autre problème : supposons que
je souhaite utiliser l'image toto.gif pour un truc spécial (la mettre en
image de fond d'un tableau par exemple).
Je vais mettre dans mon article le code html correspondant, qui ne sera pas
de la forme raccourci spip. Du coup spip pensera que mon image n'est pas
{inclus}(e)... bref, ça oblige à se conformer aux raccourcis
(Je pense à cette situation parce que j'ai justement ça à faire sur un cas
précis).
Ca n'a rigoureusement rien à voir avec {inclus}. Puisque de toute façon, {inclus} est une restriction à la sélection. Si l'image n'apparaît pas sans {inclus}, elle n'a aucune raison d'apparaître avec... A l'inverse, l'absence du critère {inclus} fait que, forcément, des documents apparaîtront en double sur la même page.
Dans le cas des images/documents détournés de leur usage, une piste à explorer est de jouer sur les noms des images/documents.
- Pour commencer, décider d'un préfixe pour toutes les images/documents qu'on veut détourner de leur usage normal. Par exemple, elles commencent toutes par "my_"...
- Dans les boucles d'affichage "normal" des images/documents, ajouter un critère de sélection négatif basé sur un regex:
(DOCUMENTS)...{titre!==^my_}
De cette façon, on est certain que, quoi qu'on fasse, les images/documents destinés à un usage un poil tordu ne seront pas affichés dans les boucles normales.
- A l'inverse, faire des boucles très précises pour récupérer les images/documents dont on veut faire un usage spécifique. Par exemple, un logo alternatif serait nommé "my_big_logo"; appelé simplement par une boucle:
(DOCUMENTS)...{titre=my_big_logo}
En jouant avec le texte conditionnel de la boucle, on se débarasse même la plupart du temps du code PHP.