Balise #LOGO_PARENT
J'étais parti pour faire une balise #LOGO_PARENT toute simple, avec 2 paramètres objet et id_objet optionnels (par défaut ça prend selon la boucle englobante).
MAIS.
Finalement ça me pose pleins de questions par rapport à la balise #LOGO de SPIP.
Dans la mesure où ce plugin sert de POC avant d'être éventuellement intégré au noyau plus tard, je me dis que l'utilisation de cette balise devrait être raccord au maximum avec la balise de base du noyau.
Ce qui fait réfléchir sur plusieurs points :
1) Paramètres
La balise #LOGO accepte plusieurs paramètres :
#LOGO_PATATE{200,200} : applique image_reduire{200,200}
#LOGO_PATATE{left} : ajoute une classe au conteneur (top left right center bottom)
#LOGO_PATATE{icone} : ?? (auto icone apercu vignette)
Alors ok, mis à part le redimensionnement, ce sont des trucs à priori historiques et obsolètes, mais pour l'instant ils sont là, donc il faudrait en tenir compte dans #LOGO_PARENT. Sauf que si cette dernière prend aussi 2 paramètres objet + id_objet optionnels, ça fait pas mal de combinaisons possibles. Et quid si un objet éditorial s'appelle « icone » par exemple ? Pffff...
#LOGO_PARENT{patate,10,200} : objet patate n°10 + image_reduire
#LOGO_PARENT{200} : image_reduire
#LOGO_PARENT{icone,10} : objet icone n°10 OU classe icone + image_reduire ?
2) Parenté
De base il y a déjà une notion de parenté : c'est l'écriture #LOGO_ARTICLE_RUBRIQUE, qui fait appel à la fonction quete_parent. Cela veut bien dire : je veux le logo de l'article, sinon celui de son parent (= la rubrique).
Avec une écriture plus générique, cela pourrait donner #LOGO_ARTICLE_PARENT.
Mais donc ce sont 2 cas différents : d'une part on peut vouloir directement le logo du parent, et de l'autre le prendre uniquement en fallback.
Ce qui voudrait dire surcharger balise_LOGO__dist()
pour lui faire reconnaître l'écriture #LOGO_PATATE_PARENT, et en plus de ça une nouvelle balise #LOGO_PARENT à part.
3) Survol
Et il y a aussi ces fichus logos de survols à prendre en compte : #LOGO_ARTICLE_SURVOL → #LOGO_PARENT_SURVOL ?
Donc cela fait plusieurs pistes possibles :
- #LOGO_PARENT sans prendre en compte les params de #LOGO
- #LOGO_PARENT avec tous les params de #LOGO
- #LOGO_PARENT avec tous les params de #LOGO + surcharge de
balise_LOGO__dist()
pour lui faire reconnaître lécriture #LOGO_PATATE_PARENT