Changeset 88161 in spip-zone for _plugins_/albums
- Timestamp:
- Mar 23, 2015, 7:04:09 PM (6 years ago)
- Location:
- _plugins_/albums/trunk
- Files:
-
- 2 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/albums/trunk/lang/album_fr.php
r88157 r88161 93 93 'label_modele_placeholder_dimension' => 'Taille en px, sans l’unité', 94 94 'label_modele_recadrer_images' => 'Recadrer les images', 95 'label_modele_ratio' => 'Ratio des images recadrées', 96 'label_modele_ratio_placeholder' => '16/9, 2:21, 4-3 etc.', 95 97 'label_modele_titre' => 'Afficher le titre', 96 98 'label_modele_titre_perso' => 'Titre personnalisé', -
_plugins_/albums/trunk/modeles/album.html
r87048 r88161 8 8 Les paramètres permettent d'afficher des éléments supplémentaires (titre, descriptif, labels), de retailler et recadrer les vignettes, 9 9 de changer la position et le contenu de la légende, de changer la pagination, le tri, etc. 10 Voir la liste complète des paramètres plus bas, et consulter le fichier `albums_options.php` pour voir les constantes de personnalisation. 11 12 Comme on ne peut pas prendre en compte tous les cas de figure avec une seule boucle (pour rétro compatibilité v1), on a recours à 2 squelettes : 13 - ce squelette sert juste à sélectionner les documents correspondants aux critères demandés (id_album, id ou id_article). 14 - le squelette inclus est l'album à proprement parler. 10 Des constantes de personnalisation permettent de définir des paramètres par défaut, 11 consulter le fichier `albums_options.php` pour la liste complète. 15 12 16 13 Utilisation : 17 - Dans un squelette : #MODELE{album, id_album= X} docs de l'album n°X18 #MODELE{album, id_article= X} docs de l'article n°X19 #MODELE{album, id= 'X,Y,Z,N'}docs identifiés20 - Dans un texte :<albumX>21 <album|id_article= X>22 <album|id= X,Y,Z,N>14 - Dans un squelette : #MODELE{album, id_album=x} docs de l'album n°x 15 #MODELE{album, id_article=x} docs de l'article n°x 16 #MODELE{album, id=x-y-z-N} docs identifiés 17 - Dans un texte : <albumX> 18 <album|id_article=x> 19 <album|id=x,y,z,N> 23 20 24 ][(#REM) 25 26 Utilise : 27 modeles/inc-album.html 21 Notes techniques diverses : 22 - Le squelette a l'air bien chevelu, mais à la base, le markup d'un album est hyper simple (cf. lien plus haut). 23 Comme il faut prendre en compte tous les paramètres possibles, assurer la rétrocompatibilité, 24 et gérer les petites incohérences des modèles, ça donne un truc bien dense. 25 - Attention, dans la v1 le paramètre `id` sert à sélectionner des documents, 26 mais #ENV{id} peut renvoyer l'identifiant d'un album avec <albumx>. 27 Si on peut décomposer #ENV{id} en tableau, on considère qu'il s'agit du premier cas. 28 28 29 29 30 ][(#REM) … … 32 33 id_album Identifiant d'un album. 33 34 titre Pour afficher le titre de l'album ou un titre personnalisé 34 valeurs : «oui» ou «true» pour le titre de l'album.35 valeurs : «oui» ou «true» pour le "vrai" titre de l'album. 35 36 n'importe quelle autre chaîne pour un titre personnalisé. 36 37 défaut : '' … … 39 40 défaut : _ALBUMS_BALISE_TITRE_VIGNETTES > _ALBUMS_BALISE_TITRE > strong 40 41 descriptif Pour afficher le descriptif de l'album 41 valeurs : n'importe quelle chaîne (oui, true...)42 valeurs : «oui» ou «true» 42 43 défaut : '' 43 44 label Pour afficher le label de chaque document … … 52 53 valeurs : n'importe quelle chaîne (oui, true...) 53 54 défaut : _ALBUMS_RECADRER > '' 55 ratio Ratio utilisé pour recadrer 56 valeurs : 16/9, 2:21, 4-3 etc. 57 défaut : 1 54 58 par Tri des documents. 55 59 valeurs : id_document | titre | fichier | media | mode | extension | taille … … 69 73 70 74 Dépréciés, pour rétro compatibilité avec les versions antérieures : 71 id sélection prédéfinie de documents, séparés par un e virgule.75 id sélection prédéfinie de documents, séparés par un caractère non alphanumérique. 72 76 id_article identifiant d'un article pour sélectionner ses documents. 73 77 balise_titraille = balise_titre 74 78 media pour restreindre à un type de document 75 79 76 ]#SET{ids_documents,#ARRAY}[ 80 ][(#SET{titre_album, #ENV{titre}|in_array{#LISTE{oui,true}}|?{#INFO_TITRE{album,#ENV{id_album}},#ENV{titre}|trim}})][ 81 (#SET{descriptif_album, #ENV{descriptif}|in_array{#LISTE{oui,true}}|?{#INFO_DESCRIPTIF{album,#ENV{id_album}}}})][ 82 (#SET{pagination, #ENV{pagination}|intval|sinon{#EVAL{_ALBUMS_PAGINATION_VIGNETTES}|intval}|sinon{#EVAL{_ALBUMS_PAGINATION}|intval}|sinon{20}})][ 83 (#SET{balise_titre, #ENV*{balise_titre}|sinon{#ENV*{balise_titraille}}|sinon{#EVAL{_ALBUMS_BALISE_TITRE_VIGNETTES}}|sinon{#EVAL{_ALBUMS_BALISE_TITRE}}|sinon{strong}|trim|replace{^<|>$}})][ 84 (#SET{position_legende, #ENV{position_legende}|sinon{#EVAL{_ALBUMS_POSITION_LEGENDE_VIGNETTES}}|sinon{#EVAL{_ALBUMS_POSITION_LEGENDE}}|trim})][ 85 (#SET{position_legende, #GET{position_legende}|in_array{#LISTE{top,bottom}}|?{#GET{position_legende},bottom}})][ 86 (#SET{caption, #GET{titre_album}|?{#GET{titre_album}|wrap{#VAL{'<'}|concat{#GET{balise_titre},' class="titre_album">'}}} 87 |concat{#GET{#GET{descriptif_album}}|?{#GET{descriptif_album}|wrap{<div class="descriptif_album">}}} 88 |wrap{#VAL{'<'}|concat{#HTML5|?{figcaption,div},' class="caption ',#GET{position_legende},'">'}}}|trim)][ 89 (#SET{taille_preview, #CONFIG{taille_preview}|intval|sinon{#EVAL{_ALBUMS_TAILLE_PREVIEW}|intval}|sinon{150}})][ 90 (#SET{recadrer, #ENV{recadrer}|?{true,#EVAL{_ALBUMS_RECADRER}}})][ 91 (#SET{ids_documents, #ARRAY})][ 92 (#SET{source_docs, #ENV{id_album}|intval|?{album, 93 #VAL{/\W/}|preg_split{#ENV*{id}}|array_filter|count|>{1}?{id, 94 #ENV{id_article}|intval|?{article}}}})][ 77 95 78 (#REM) 1. «id_album» présent dans l'environnement79 96 80 ]<BOUCLE_album(ALBUMS){id_album}><BOUCLE_docs(DOCUMENTS){id_album}{par #ENV{par,media},titre}{tout}{media?} 97 (#REM) 1. ID DOCUMENTS 98 99 100 ][ 101 (#REM) «id_album» 102 ]<BOUCLE_album(ALBUMS){id_album}><BOUCLE_docs(DOCUMENTS){id_album}{par #ENV{par,media},titre}{tout}{media?}{si #GET{source_docs}|=={album}} 81 103 >#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_docs></BOUCLE_album>[ 104 (#REM) sinon «id_article» 105 ]<BOUCLE_article(DOCUMENTS){id_article}{par #ENV{par,media},titre}{tout}{media?}{si #GET{source_docs}|=={article}} 106 >#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_article>[ 107 (#REM) sinon «id» 108 ]<BOUCLE_id(CONDITION){si #GET{source_docs}|=={id}} 109 >#SET{ids_documents,#VAL{/\W/}|preg_split{#ENV*{id}}}</BOUCLE_id>[ 82 110 83 (#REM) 2. «id_article» donné explicitement84 111 85 ]<BOUCLE_article(DOCUMENTS){id_article=#ENV{args/id_article}}{par #ENV{par,media},titre}{tout}{media?} 86 >#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_article>[ 112 (#REM) 2. ALBUM 87 113 88 (#REM) 3. «id» donné explicitement89 114 90 ]<BOUCLE_id(DOCUMENTS){id_document IN (#ENV{args/id}|explode{','})}{par #ENV{par,media},titre}{tout} 91 >#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_id><//B_article><//B_album>[ 92 93 (#REM) squelette de l'album 94 95 ][(#INCLURE{fond=modeles/inc-album, ids_documents=#GET{ids_documents}, env, ajax})] 115 ]<B_documents_album> 116 [<(#HTML5|?{figure,div}) class="album vignettes figure[ (#ENV{align})][ (#ENV{classe})]">] 117 #ANCRE_PAGINATION 118 [(#GET{position_legende}|=={top}|oui)[(#GET{caption})]] 119 <ul[ (#PLUGIN{bootstrap}|oui)class='thumbnails'][ (#CONFIG{foundation/variante}|intval|>={4}|?{class='small-block-grid-2 medium-block-grid-3 large-block-grid-4',class='block-grid 4-up mobile-two-up'})]> 120 <BOUCLE_documents_album(DOCUMENTS){id_document IN #GET{ids_documents}}{tout}{pagination #GET{pagination} #VAL{album}|concat{#VAL|uniqid}}>[ 121 (#SET{titre_document, #TITRE|sinon{#FICHIER|basename}})][ 122 (#SET{titre_document_long, #GET{titre_document}|concat{' - ',#TYPE_DOCUMENT,' - ',#VAL{#TAILLE|taille_en_octets},#MEDIA|=={image}|?{#VAL{' - '}|concat{#LARGEUR,'×',#HAUTEUR,' px'}}}})][ 123 (#SET{ratio, #VAL{/\W/}|preg_split{#ENV*{ratio,#GET{recadrer}|?{1}}}})][ 124 (#SET{ratio, #GET{ratio}|count|>{1}|?{#GET{ratio/0}|div{#GET{ratio/1}},#GET{ratio/0}}|floatval})][ 125 (#SET{ratio, #GET{ratio}|sinon{#LARGEUR|div{#HAUTEUR}}|floatval})][ 126 (#SET{largeur, #ENV{largeur}|sinon{#ENV{hauteur}|mult{#GET{ratio}}}|sinon{#GET{taille_preview}}|intval})][ 127 (#SET{hauteur, #ENV{hauteur,#GET{largeur}|div{#GET{ratio}}}|intval})][ 128 (#SET{src, #MEDIA|=={image}|?{ 129 #GET{recadrer}|?{ 130 #FICHIER|image_passe_partout{#GET{largeur},#GET{hauteur}}|image_recadre{#GET{largeur},#GET{hauteur},center}, 131 #FICHIER|image_reduire{#GET{largeur},#GET{hauteur}}}, 132 #LOGO_DOCUMENT{icone}} 133 |extraire_attribut{src}})] 134 <li[ (#PLUGIN{bootstrap}|oui)class='thumbnail']> 135 <a href="#FICHIER" type="#MIME_TYPE" rel="album#ID_ALBUM" class="[(#EXTENSION)][ (#PLUGIN{foundation}|oui)th]" title="[(#GET{titre_document_long}|attribut_html)]" role="button" aria-label="Vignette"> 136 [(#GET{src}|balise_img{#GET{titre_document_long},vignette}|inserer_attribut{aria-hidden,true})] 137 </a> 138 [(#ENV{label}|oui)[<span class="label">(#GET{titre_document})</span>]] 139 </li> 140 </BOUCLE_documents_album> 141 </ul> 142 [<div class='pagination'>(#PAGINATION{#ENV{pagination_type,page}})</div>] 143 [(#GET{position_legende}|=={bottom}|oui)[(#GET{caption})]] 144 [</(#HTML5|?{figure,div})>]<!-- .album.vignettes --> 145 </B_documents_album> -
_plugins_/albums/trunk/modeles/album.yaml
r87043 r88161 91 91 valeur_oui: 'oui' 92 92 - 93 saisie: 'input' 94 options: 95 nom: 'ratio' 96 label: <:album:label_modele_ratio:> 97 placeholder: <:album:label_modele_ratio_placeholder:> 98 afficher_si: '@recadrer@=="oui"' 99 - 93 100 saisie: 'case' 94 101 options: -
_plugins_/albums/trunk/modeles/album_liste.html
r87043 r88161 6 6 Les paramètres permettent d'afficher des éléments supplémentaires (titre, descriptif, informations sur les fichiers), 7 7 de changer la position et le contenu de la légende, de changer la pagination, le tri, etc. 8 Voir la liste complète des paramètres plus bas, et consulter le fichier `albums_options.php` pour voir les constantes de personnalisation. 9 10 Comme on ne peut pas prendre en compte tous les cas de figure avec une seule boucle (pour rétro compatibilité v1), 11 on a recours à 2 squelettes : 12 - ce squelette sert juste à sélectionner les documents correspondants aux critères demandés (id_album, id ou id_article). 13 - le squelette inclus est le squelette de l'album à proprement parler. 8 Des constantes de personnalisation permettent de définir des paramètres par défaut, 9 consulter le fichier `albums_options.php` pour la liste complète. 14 10 15 11 Utilisation : 16 - Dans un squelette : #MODELE{album_liste, id_album= X} docs de l'album n°X17 #MODELE{album_liste, id_article= X} docs de l'article n°X18 #MODELE{album_liste, id= 'X,Y,Z,N'}docs identifiés19 - Dans un texte :<albumX|liste>20 <album|liste|id_article= X>21 <album|liste|id= X,Y,Z,N>12 - Dans un squelette : #MODELE{album_liste, id_album=x} docs de l'album n°x 13 #MODELE{album_liste, id_article=x} docs de l'article n°x 14 #MODELE{album_liste, id=x-y-z-N} docs identifiés 15 - Dans un texte : <albumX|liste> 16 <album|liste|id_article=x> 17 <album|liste|id=x,y,z,N> 22 18 23 19 ][(#REM) … … 38 34 défaut : _ALBUMS_BALISE_TITRE_VIGNETTES > _ALBUMS_BALISE_TITRE > strong 39 35 descriptif Pour afficher le descriptif de l'album 40 valeurs : n'importe quelle chaîne (oui, true...)36 valeurs : valeurs : «oui» ou «true» 41 37 défaut : '' 42 38 metas Liste des infos complémentaires à afficher, séparées par un caractère non alphanumérique (virgule, tiret...) … … 67 63 media pour restreindre à un type de document 68 64 69 ]#SET{ids_documents,#ARRAY}[ 65 ][(#SET{titre_album, #ENV{titre}|in_array{#LISTE{oui,true}}|?{#INFO_TITRE{album,#ENV{id_album}},#ENV{titre}}})][ 66 (#SET{descriptif_album, #ENV{descriptif}|?{#INFO_DESCRIPTIF{album,#ENV{id_album}}}})][ 67 (#SET{pagination, #ENV{pagination}|intval|sinon{#EVAL{_ALBUMS_PAGINATION_LISTE}|intval}|sinon{#EVAL{_ALBUMS_PAGINATION}|intval}|sinon{20}})][ 68 (#SET{balise_titre, #ENV*{balise_titre}|sinon{#ENV*{balise_titraille}}|sinon{#EVAL{_ALBUMS_BALISE_TITRE_LISTE}}|sinon{#EVAL{_ALBUMS_BALISE_TITRE}}|sinon{strong}|trim|replace{^<|>$}})][ 69 (#SET{position_legende, #ENV{position_legende}|sinon{#EVAL{_ALBUMS_POSITION_LEGENDE_LISTE}}|sinon{#EVAL{_ALBUMS_POSITION_LEGENDE}}|trim})][ 70 (#SET{position_legende, #GET{position_legende}|in_array{#LISTE{top,bottom}}|?{#GET{position_legende},bottom}})][ 71 (#SET{caption, #GET{titre_album}|?{#GET{titre_album}|wrap{#VAL{'<'}|concat{#GET{balise_titre},' class="titre_album">'}}} 72 |concat{#GET{#GET{descriptif_album}}|?{#GET{descriptif_album}|wrap{<div class="descriptif_album">}}} 73 |wrap{#VAL{'<'}|concat{#HTML5|?{figcaption,div},' class="caption ',#GET{position_legende},'">'}}}|trim)][ 74 (#SET{metas, #LISTE{metas,infos}|array_intersect{#ENV{args,#ARRAY}|array_keys}|count|?{#ENV{metas,#ENV{infos}},#EVAL{_ALBUMS_LISTE_METAS}}})][ 75 (#SET{metas, #VAL{'/\[\W\]/'}|preg_split{#GET{metas}|in_array{#LISTE{oui,true}}|?{extension-taille-dimensions,#GET{metas}}}})][ 76 (#SET{ids_documents, #ARRAY})][ 77 (#SET{source_docs, #ENV{id_album}|intval|?{album, 78 #VAL{/\W/}|preg_split{#ENV*{id}}|array_filter|count|>{1}?{id, 79 #ENV{id_article}|intval|?{article}}}})][ 70 80 71 (#REM) 1. «id_album» présent dans l'environnement72 81 73 ]<BOUCLE_album(ALBUMS){id_album}><BOUCLE_docs(DOCUMENTS){id_album}{par #ENV{par,media},titre}{tout}{media?} 82 (#REM) 1. ID DOCUMENTS 83 84 85 ][ 86 (#REM) «id_album» 87 ]<BOUCLE_album(ALBUMS){id_album}><BOUCLE_docs(DOCUMENTS){id_album}{par #ENV{par,media},titre}{tout}{media?}{si #GET{source_docs}|=={album}} 74 88 >#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_docs></BOUCLE_album>[ 89 (#REM) sinon «id_article» 90 ]<BOUCLE_article(DOCUMENTS){id_article}{par #ENV{par,media},titre}{tout}{media?}{si #GET{source_docs}|=={article}} 91 >#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_article>[ 92 (#REM) sinon «id» 93 ]<BOUCLE_id(CONDITION){si #GET{source_docs}|=={id}} 94 >#SET{ids_documents,#VAL{/\W/}|preg_split{#ENV{id}}}</BOUCLE_id>[ 75 95 76 (#REM) 2. «id_article» donné explicitement77 96 78 ]<BOUCLE_article(DOCUMENTS){id_article=#ENV{args/id_article}}{par #ENV{par,media},titre}{tout}{media?} 79 >#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_article>[ 97 (#REM) 2. ALBUM 80 98 81 (#REM) 3. «id» donné explicitement82 99 83 ]<BOUCLE_id(DOCUMENTS){id_document IN (#ENV{args/id}|explode{','})}{par #ENV{par,media},titre}{tout} 84 >#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_id><//B_article><//B_album>[ 85 86 (#REM) squelette de l'album 87 88 ][(#INCLURE{fond=modeles/inc-album_liste, ids_documents=#GET{ids_documents}, env, ajax})] 100 ]<B_documents_album> 101 <div class="album liste[ (#ENV{align})][ (#ENV{classe})]"> 102 #ANCRE_PAGINATION 103 [(#GET{position_legende}|=={top}|oui)[(#GET{caption})]] 104 <ul class="spip"> 105 <BOUCLE_documents_album(DOCUMENTS){id_document IN #GET{ids_documents}}{tout}{pagination #GET{pagination} #VAL{album}|concat{#VAL|uniqid}}>[ 106 (#SET{extension, #EXTENSION|strtoupper|wrap{<abbr class="extension">}|inserer_attribut{title,#VAL{medias:info_document}|_T|concat{' ',#TYPE_DOCUMENT}}})][ 107 (#SET{taille, #TAILLE|taille_en_octets|wrap{<span class="taille">}})][ 108 (#SET{dimensions, #MEDIA|=={image}|?{#LARGEUR|concat{' × ',#HAUTEUR,' px'}|wrap{<span class="dimensions">}}})][ 109 (#SET{titre_document, #TITRE|sinon{#FICHIER|basename}})][ 110 (#SET{titre_document_long, #GET{titre_document}|concat{' - ',#TYPE_DOCUMENT,' - ',#TAILLE|taille_en_octets}})]<li> 111 <a href="#FICHIER" type="#MIME_TYPE" rel="album#ID_ALBUM" class="spip_doc[ (#EXTENSION|attribut_html)]" title="[(#GET{titre_document_long}|attribut_html)]"> 112 [<span class="titre_album[ (#TITRE|non)fichier]">(#GET{titre_document})</span>] [ 113 (#REM)]<B_metas>(<BOUCLE_metas(DATA){source table, #GET{metas}}{' <span class="sep">-</span> '}{si #GET{metas}}>[(#GET{#VALEUR})]</BOUCLE_metas>)</B_metas> 114 </a> 115 </li> 116 </BOUCLE_documents_album> 117 </ul> 118 [<div class='pagination'>(#PAGINATION{#ENV{pagination_type,page}})</div>] 119 [(#GET{position_legende}|=={bottom}|oui)[(#GET{caption})]] 120 </div><!-- .album.vignette --> 121 </B_documents_album> -
_plugins_/albums/trunk/paquet.xml
r88152 r88161 2 2 prefix="albums" 3 3 categorie="multimedia" 4 version="3.3. 0"4 version="3.3.1" 5 5 schema="1.0.0" 6 6 etat="stable"
Note: See TracChangeset
for help on using the changeset viewer.