[(#REM) Modèle album standard. Permet d'afficher des documents de diverses façons. On peut choisir les documents de 3 façons : - Soit ceux liés à un album : id_album - Soit ceux liés à un objet : objet + id_objet - Soit une sélection arbitraire : id_document Par défaut c'est une vue sous forme de vignettes, plutôt adaptée aux images. Le paramètre `disposition` permet de changer substantiellement l'affichage : mosaïque d'images, liste de documents à télécharger, etc. D'autres personnalisations sont possibles : afficher ou masquer des éléments, retailler et recadrer les vignettes, changer la position et le contenu de la légende, changer la pagination, le tri, etc. Des constantes de personnalisation permettent de définir des valeurs par défaut. Inspiré initialement de https://tinytypo.tetue.net/tinytypo.html#album Paramètres : **obligatoire *conseillé Sélection des documents : - **id_album : soit l'identifiant d'un album - **objet + id_objet : soit un type d'objet et son identifiant - **id_document : soit des numéros de documents, tableau ou séparés par des virgules Textes personnalisés : - titre : titre personnalisé - descriptif : descriptif personnalisé - credits : crédits personnalisés Traitement des images : - largeur : largeur maximale des images. défaut : _ALBUMS_IMG_LARGEUR > config - hauteur : hauteur maximale des images défaut : _ALBUMS_IMG_LARGEUR > config - recadrer_ratio : ratio pour recadrer les images valeurs : 1:1, 16:9, 4:3, … on supporte les anciens délimiteurs 16/9 et 16-9, mais il est recommandé d'utiliser 2 points. défaut : _ALBUMS_IMG_RATIO - recadrer_sens : sens du recadrage valeurs : - | + défaut : - Sélection des documents : - par : tri des documents. valeurs : id_document | titre | fichier | media | mode | extension | taille défaut : media, fichier, titre - sens : Sens du tri des documents. valeurs : -1 | 1 - pagination : pagination des documents. défaut : _ALBUMS_PAGINATION > 40 Affichage : - disposition : disposition des documents valeurs : inline | ligne | mosaique | masonry | simple défaut : inline - modele_doc : modèle à utiliser pour les documents valeurs : doc | emb défaut : doc - align : alignement du conteneur valeurs : left | right | center défaut : '' - classe : classes supplémentaires ajoutées au conteneur - pagination_type : type de pagination valeurs : page | precedent_suivant | page_precedent_suivant défaut : '' - position_legende : emplacement de la légende de l'album : en haut ou en bas. valeurs : top | bottom défaut : _ALBUMS_POSITION_LEGENDE > bottom - masquer_legende : pour masquer la légende de l'album 'oui' ou n'importe quelle valeur évaluée à true Renommés ou modifiés : - recadrer / ratio → recadrer_ratio - label → legendes_docs - titre = oui|true → maintenant il est affiché par défaut - descriptif = oui|true → maintenant il est affiché par défaut - _ALBUMS_TAILLE_PREVIEW → utiliser _ALBUMS_IMG_LARGEUR et _ALBUMS_IMG_HAUTEUR - _ALBUMS_RECADRER → utiliser _ALBUMS_IMG_RATIO à la place Dépréciés : - balise_titraille - balise_titre - _ALBUMS_BALISE_TITRE - _ALBUMS_BALISE_TITRE_VIGNETTES - _ALBUMS_BALISE_PAGINATION_VIGNETTES ] [(#REM) Rétrocompatibilité : rustines pour les paramètres dépréciés, à supprimer un jour ] [(#ENV{titre}|in_array{#LISTE{oui,true}}|oui) [(#EVAL{null}|setenv{titre})] ][(#ENV{descriptif}|in_array{#LISTE{oui,true}}|oui) [(#EVAL{null}|setenv{descriptif})] ][(#ENV{label}|oui) [(#EVAL{true}|setenv{legendes_docs})] [(#EVAL{null}|setenv{label})] ] [(#REM) Compat numéros séparés par des virgules si id_document ] [(#ENV{id_document}|oui) [(#ENV{id_document}|is_array|?{#ENV{id_document},#ENV{id_document}|explode{','}}|setenv{id_document})] ] [(#REM) Sens du tri des documents ] #SET{tri_sens,#ARRAY{ date, #ENV{sens,-1}, media, #ENV{sens,1}, fichier, #ENV{sens,1}, extension, #ENV{sens,1}, titre, #ENV{sens,1}, num titre, #ENV{sens,1}, sinum titre,#ENV{sens,1}, id_document,#ENV{sens,1}, rang_lien, #ENV{sens,1}, }} #SET{tri_defaut,#ENV{id_document}|?{sinum titre,rang_lien}} [(#REM) Contenu de la légende ] #SET{legende, #ARRAY{ titre, #ENV*{titre,#INFO_TITRE*{album,#ENV{id_album}}}, descriptif, #ENV*{descriptif,#INFO_DESCRIPTIF*{album,#ENV{id_album}}}, credits, #ENV*{credits,#INFO_CREDITS*{album,#ENV{id_album}}} }} [(#REM) Divers ] #SET{pagination, #ENV{pagination}|sinon{#CONST{_ALBUMS_PAGINATION}}|sinon{40}} #SET{classe_caption, #ENV{position_legende}|sinon{#CONST{_ALBUMS_POSITION_LEGENDE}}} #SET{classe_legacy, vignettes} [(#REM) Params calculés d'après le contexte ] #SET{params,#ALBUM_PARAMS} [(#REM) Rustine : pour contourner des problèmes de jointure auto avec objet + id_objet, on fait le where à la main + critère {documents_album} ] #SET{where,#VAL{' AND '}|join{#LISTE{ #ENV{objet}|?{#VAL{documents_liens.objet=}|concat{#ENV{objet}|sql_quote}}, #ENV{id_objet}|?{#VAL{documents_liens.id_objet=}|concat{#ENV{id_objet}}} }|array_filter}
#ANCRE_PAGINATION [] [(#ENV{masquer_legende}|non|et{#GET{legende}|array_filter}|oui)
[(#GET{legende/titre}|supprimer_numero|propre|ptobr)] [
(#GET{legende/descriptif}|propre|ptobr)[(#NOTES|ptobr)]
] [
(#GET{legende/credits}|propre|ptobr)
]
]