Changeset 95642 in spip-zone


Ignore:
Timestamp:
Mar 1, 2016, 9:34:29 AM (4 years ago)
Author:
cedric@…
Message:

Report de r95337 : mise a jour du modele album compatible v2/v3

Location:
_squelettes_/sarkaspip/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/sarkaspip/trunk/modeles/album.html

    r90265 r95642  
    11[(#REM)
    2         Modèle album : vue en mode 'icones'
    3 ]
    42
    5 #SET{statut,#ENV{statut,publie}}
    6 [(#REM|test_espace_prive|oui)
    7         #SET{statut,'.*'}
    8         [(#INCLURE{fond=prive/squelettes/inclure/albums_modele_infos_prive,env})]
    9 <style>ul.thumbnails li {display: inline-block;max-width: 100px;vertical-align: top;}ul.thumbnails li img{max-width:100%;height:auto;}</style>
    10 ]
     3        Modèle «album» par défaut : vue sous forme de vignettes.
    114
    12 <BOUCLE_album(ALBUMS){id_album}{statut == #GET{statut}}>
    13 <div class="albums album vue_icones clearfix p #ENV{align}">
     5        Cf. http://tinytypo.tetue.net/tinytypo.html#album
     6        Ce modèle est plutôt destiné aux albums contenant des images.
     7        Par défaut, l'affichage est volontairement minimaliste et les vignettes sont retaillées en hauteur.
     8        Les paramètres permettent d'afficher des éléments supplémentaires (titre, descriptif, labels), de retailler et recadrer les vignettes,
     9        de changer la position et le contenu de la légende, de changer la pagination, le tri, etc.
     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.
    1412
    15         [(#ENV{titre,''}|=={non}|non)
    16         [<h2>(#ENV{titre,#TITRE})</h2>]
    17         ]
     13        Utilisation :
     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>
    1820
    19         <B_documents_joints>
    20         <ul class="thumbnails">
    21                 <BOUCLE_documents_joints(DOCUMENTS){id_album}{media?}{tout}>
    22                 <li>
     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, `id` et `id_article` sont utilisés comme paramètres dans la v1
     26        mais en SPIP 3, ils peuvent se retrouver automatiquement dans l'environnement.
     27        - Les vieux documents (issus d'avant SPIP 1.9) peuvent avoir un champ `media` vide.
     28
     29
     30][(#REM)
     31
     32        Paramètres :
     33                id_album          Identifiant d'un album.
     34                titre             Pour afficher le titre de l'album ou un titre personnalisé
     35                                  valeurs : «oui» ou «true» pour le "vrai" titre de l'album.
     36                                            n'importe quelle autre chaîne pour un titre personnalisé.
     37                                  défaut  : ''
     38                balise_titre      Balise dans laquelle encapsuler le titre, sans les chevrons.
     39                                  ex.     : «h3», «strong»...
     40                                  défaut  : _ALBUMS_BALISE_TITRE_VIGNETTES > _ALBUMS_BALISE_TITRE > strong
     41                descriptif        Pour afficher le descriptif de l'album
     42                                  valeurs : «oui» ou «true»
     43                                  défaut  : ''
     44                label             Pour afficher le label de chaque document
     45                                  valeurs : n'importe quelle chaîne (oui, true...)
     46                                  défaut  : ''
     47                                  Attention, les noms de fichiers longs peuvent perturber l'agencement, prévoir des styles CSS supplémentaires.
     48                largeur           Largeur maximale des images (filtre image_reduire).
     49                                  défaut  : _ALBUMS_TAILLE_PREVIEW > taille des miniatures dans les options avancées > 0
     50                hauteur           Hauteur maximale des images (filtre image_reduire).
     51                                  défaut  : _ALBUMS_TAILLE_PREVIEW > taille des miniatures dans les options avancées > 150
     52                recadrer          Pour recadrer les images (filtre image_passe_partout + image_recadre).
     53                                  valeurs : n'importe quelle chaîne (oui, true...)
     54                                  défaut  : _ALBUMS_RECADRER > ''
     55                ratio             Ratio utilisé pour recadrer
     56                                  valeurs : 16/9, 2.21:1, 4-3 etc.
     57                                  défaut  : 1
     58                par               Tri des documents.
     59                                  valeurs : id_document | titre | fichier | media | mode | extension | taille
     60                                  défaut  : media, fichier, titre
     61                align             Alignement du bloc conteneur (.album)
     62                                  valeurs : left | right | center
     63                                  défaut  : ''
     64                classe            Classe(s) CSS supplémentaire(s) du bloc conteneur (.album)
     65                pagination        Pagination pour le nombre de documents affichés.
     66                                  défaut  : _ALBUMS_PAGINATION_VIGNETTES > _ALBUMS_PAGINATION > 20
     67                pagination_type   Type de pagination
     68                                  valeurs : page | precedent_suivant | page_precedent_suivant
     69                                  défaut  : page
     70                position_legende  Emplacement de la légende (titre & descriptif) : en haut ou en bas de la liste.
     71                                  valeurs : top | bottom
     72                                  défaut  : bottom
     73
     74                Dépréciés, pour rétro compatibilité avec les versions antérieures :
     75                id                sélection prédéfinie de documents, séparés par un caractère non alphanumérique.
     76                id_article        identifiant d'un article pour sélectionner ses documents.
     77                balise_titraille  = balise_titre
     78                media             pour restreindre à un type de document
     79
     80][(#SET{has_titre,      #EVAL{_ALBUMS_AFFICHER_TITRE}|ou{#ENV{titre}|oui}|et{#ENV{titre,oui}|=={non}|non}})][
     81(#SET{titre,            #GET{has_titre}|?{#ENV{titre}|replace{'^(oui|non|true)$',''}|sinon{#INFO_TITRE{album,#ENV{id_album}}}}|trim})][
     82(#SET{has_descriptif,   #EVAL{_ALBUMS_AFFICHER_DESCRIPTIF}|ou{#ENV{descriptif}|oui}|et{#ENV{descriptif}|=={non}|non}})][
     83(#SET{descriptif,       #GET{has_descriptif}|?{#ENV{descriptif}|replace{'^(oui|non|true)$',''}|sinon{#INFO_DESCRIPTIF{album,#ENV{id_album}}}}|trim})][
     84(#SET{pagination,       #ENV{pagination}|intval|sinon{#EVAL{_ALBUMS_PAGINATION_VIGNETTES}|intval}|sinon{#EVAL{_ALBUMS_PAGINATION}|intval}|sinon{20}})][
     85(#SET{balise_titre,     #ENV*{balise_titre,#ENV*{balise_titraille,h2}}})][
     86(#SET{position_legende, #ENV{position_legende,top}|sinon{#EVAL{_ALBUMS_POSITION_LEGENDE_VIGNETTES}}|sinon{#EVAL{_ALBUMS_POSITION_LEGENDE}}|trim})][
     87(#SET{position_legende, #GET{position_legende}|in_array{#LISTE{top,bottom}}|?{#GET{position_legende},top}})][
     88(#SET{caption,          #GET{has_titre}|ou{#GET{has_descriptif}}|?{
     89                        #GET{has_titre}|?{#GET{titre}|wrap{#VAL{'<'}|concat{#GET{balise_titre},' class="album-titre">'}}}
     90                        |concat{#GET{has_descriptif}|?{#GET{descriptif}|wrap{<div class="album-descriptif">}}}
     91                        |wrap{#VAL{'<div class="album-caption p '}|concat{#GET{position_legende},'">'}}}
     92                        |trim})][
     93(#SET{taille_preview,   #CONFIG{taille_preview}|intval|sinon{#EVAL{_ALBUMS_TAILLE_PREVIEW}|intval}|sinon{150}})][
     94(#SET{recadrer,         #ENV{recadrer,oui}|et{#ENV{recadrer,oui}|=={non}|non}?{' ',#EVAL{_ALBUMS_RECADRER}}})][
     95(#SET{ids_documents,    #ARRAY})][
     96(#SET{source_docs,      #ENV{id_album}|intval|?{album,
     97                        #VAL{/\W/}|preg_split{#ENV*{id}}|array_filter|count|>{1}?{id,
     98                        #ENV{id_article}|intval|?{article}}}})][
     99
     100
     101(#REM) 1. ID DOCUMENTS
     102
     103
     104][
     105(#REM) «id_album»
     106]<BOUCLE_album(ALBUMS){id_album}><BOUCLE_docs(DOCUMENTS){id_album}{par #ENV{par,media},titre}{tout}{media?}{si #GET{source_docs}|=={album}}
     107>#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_docs></BOUCLE_album>[
     108(#REM) sinon «id_article»
     109]<BOUCLE_article(DOCUMENTS){id_article}{par #ENV{par,media},titre}{tout}{media?}{si #GET{source_docs}|=={article}}
     110>#SET{ids_documents,#GET{ids_documents}|push{#ID_DOCUMENT}}</BOUCLE_article>[
     111(#REM) sinon «id»
     112]<BOUCLE_id(CONDITION){si #GET{source_docs}|=={id}}
     113>#SET{ids_documents,#VAL{/\W/}|preg_split{#ENV*{id}}}</BOUCLE_id>[
     114
     115
     116(#REM) 2. ALBUM
     117
     118
     119]<B_documents_album>
     120<div class="albums album vignettes vue_icones clearfix figure p[ (#ENV{align})][ (#ENV{class})][ (#ENV{classe})]">
     121        #ANCRE_PAGINATION[
     122        (#GET{position_legende}|=={top}|oui)[(#GET{caption})]]
     123        <ul class='thumbnails'>
     124                <BOUCLE_documents_album(DOCUMENTS){id_document IN #GET{ids_documents}}{tout}{pagination #GET{pagination} #VAL{album}|concat{#ENV{id_album,x}}}>[
     125                (#SET{titre_doc,      #TITRE|sinon{#FICHIER|basename}})][
     126                (#SET{titre_doc_long, #EVAL{_ALBUMS_TITRE_COURT}|?{#GET{titre_doc},#GET{titre_doc}|concat{' - ',#TYPE_DOCUMENT,' - ',#VAL{#TAILLE|taille_en_octets},#MEDIA|=={image}|?{#VAL{' - '}|concat{#LARGEUR,'&times;',#HAUTEUR,' px'}}}}})][
     127                (#SET{ratio,          #GET{recadrer}|?{#VAL{/\[-:\/\]/}|preg_split{#ENV*{ratio,1}}}})][
     128                (#SET{ratio,          #GET{ratio}|count|>{1}|?{#GET{ratio/1}|div{#GET{ratio/0}},#GET{ratio/0}}|floatval})][
     129                (#SET{ratio,          #GET{ratio}|sinon{#LARGEUR|div{#HAUTEUR}}|floatval})][
     130                (#SET{largeur,        #ENV{largeur}|sinon{#ENV{hauteur}|div{#GET{ratio}}}|sinon{#GET{taille_preview}}|intval})][
     131                (#SET{hauteur,        #ENV{hauteur,#GET{largeur}|mult{#GET{ratio}}}|intval})][
     132                (#SET{extension,      #EXTENSION|sinon{#FICHIER|pathinfo|table_valeur{extension}}})][
     133                (#SET{logo,           #GET{recadrer}|?{
     134                                                                                                                #MEDIA|=={image}|?{#FICHIER,#LOGO_DOCUMENT}|image_passe_partout{#GET{largeur},#GET{hauteur}}|image_recadre{#GET{largeur},#GET{hauteur},center,transparent},
     135                                                                                                                #MEDIA|=={image}|?{#FICHIER,#LOGO_DOCUMENT}|image_reduire{#GET{largeur},#GET{hauteur}}
     136                                                                                                        })]
     137                <li class="list-unstyled">
    23138                <figure class="thumbnail">
    24                 <a href="#URL_DOCUMENT" type="#MIME_TYPE" class='mediabox' rel="album"[ class="(#EXPOSER)"][ title="(#TITRE|attribut_html|couper{80})"]>
    25                 [(#MEDIA|=={image}|?{#URL_DOCUMENT,#LOGO_DOCUMENT{200}}
    26                         |image_passe_partout{150,150}
    27                         |image_recadre{150,150,center,transparent}
    28                         |image_aplatir{jpg,#ffffff}
    29                         |sinon{#CHEMIN{css/img/placeholder.png}|balise_img|inserer_attribut{width,150}|inserer_attribut{height,150}}
    30                         |inserer_attribut{class,spip_logos}
     139                <a href="#URL_DOCUMENT" type="#MIME_TYPE" rel="album#ID_ALBUM" class="[(#EXPOSER) ][(#EXTENSION) ]"[ title="(#TITRE|attribut_html|couper{80})"]>
     140                [(#GET{logo}
     141                        |sinon{#CHEMIN{css/img/placeholder.png}|balise_img|inserer_attribut{width,#GET{largeur}}|inserer_attribut{height,#GET{hauteur}}}
     142                        |inserer_attribut{class,spip_logo spip_logos vignette}
    31143                        |inserer_attribut{alt,[(#TITRE|attribut_html|couper{60})]})]
    32                         [<figcaption class='caption'>(#TITRE)</figcaption>]
     144                        [(#ENV{label,oui}|=={non}|non)
     145                                <figcaption class='caption'>[(#TITRE)]</figcaption>
     146                        ]
    33147                </a>
    34148                </figure>
    35149                </li>
    36                 </BOUCLE_documents_joints>
    37         </ul>
    38         </B_documents_joints>
    39150
    40 </div>
    41 </BOUCLE_album>
     151                </BOUCLE_documents_album>
     152        </ul>[
     153        <div class='pagination'>(#PAGINATION{#ENV{pagination_type,page}})</div>][
     154        (#GET{position_legende}|=={bottom}|oui)[(#GET{caption})]]
     155</div><!-- .album.vignettes -->
     156</B_documents_album>
  • _squelettes_/sarkaspip/trunk/paquet.xml

    r93201 r95642  
    22        prefix="SarkaSpipr"
    33        categorie="squelette"
    4         version="4.5.3"
     4        version="4.5.4"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.