Critère sur un champ installé par un plugin, lorsque le plugin n'est pas installé
Dans le cadre de la création d'un squelette générique affichant un agenda, il serait pratique de pouvoir utiliser : <BOUCLE_EstUneRubriqueAvecDesEvenements(RUBRIQUES){agenda=1}>
Mais si le champ agenda n'existe pas dans la table spip_rubriques, alors, une erreur est affichée : Critère inconnu =
Il faudrait pouvoir avoir une syntaxe portant sur des champs pouvant être absents.
Voir le ticket #3037 (closed) qui montre que c'est déjà possible pour une table avec un "?" après le nom de la table : <BOUCLE_t(GIS ?)>
On a déjà les critères optionnels : http://programmer.spip.net/Criteres-optionnels et http://programmer.spip.net/Criteres-optionnels-avec
Il manque donc les champs optionnels.
Rastapopoulos me faisait de plus remarquer qu'il faudrait pouvoir décider ce qui se passerait quand le champ n'est pas présent :
- est-ce que la boucle est exécuté comme si le critère n'était pas là ?
- ou, est-ce que seule sa partie alternative serait exécutée (dans l'exemple ci-dessus, c'est ce qui serait attendu) ?
Il faudrait peut-être avoir 2 syntaxes :
- {?agenda=1} : ignore le critère si champ agenda non présent
- {!agenda=1} : considère le critère invalidé quand le champ n'est pas là et exécute donc la partie alternative de la boucle