Skip to content
Extraits de code Groupes Projets
Valider 7a72f44e rédigé par tcharlss's avatar tcharlss
Parcourir les fichiers

Passe la gallerie en .liste-objets (!19)


Passe la liste des documents de la médiathèque en liste d'objets comme les autres, ainsi que la liste des documents à choisir(ceux affichés dans la modale quand on associe un document à un objet)

Quelques ajustements du contenu des colonnes :

* L'extension passe dans la colonne infos, sous le picto.
* Le nom du fichier passe dans la colonne Infos techniques.
* Dans la colonne Infos techniques, on n'affiche par défaut que les infos de base (nom de fichier + poids). Le reste est visible en dépliant les détails, de la même façon que dans le modèle document_desc.
* Ajout du champ alt dans la colonne Description, et de labels pour les crédits et le alt.
Co-authored-by: default avatartcharlss <tcharlss@noreply.git.spip.net>
Co-committed-by: default avatartcharlss <tcharlss@noreply.git.spip.net>
parent 7f227fd8
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -146,6 +146,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -146,6 +146,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_credits' => 'Crédits', 'label_credits' => 'Crédits',
'label_fichier' => 'Fichier', 'label_fichier' => 'Fichier',
'label_fichier_vignette' => 'Vignette', 'label_fichier_vignette' => 'Vignette',
'label_titre_mimetype' => 'Type de fichier',
'label_paginer_par' => 'Paginer par :', 'label_paginer_par' => 'Paginer par :',
'label_parents' => 'Ce document est lié à', 'label_parents' => 'Ce document est lié à',
'label_refdoc_joindre' => 'Document numéro', 'label_refdoc_joindre' => 'Document numéro',
......
#SET{editable,#ENV{editable,' '}|oui} #SET{editable,#ENV{editable,' '}|oui}
<div class="galerie[ media-(#ENV{media,''})]"> <div class="liste-objets galerie galerie-choisir mini[ media-(#ENV{media,''})]">
<B_galerie> <B_galerie>
<table class="spip liste">
<h3>[(#GRAND_TOTAL|singulier_ou_pluriel{#VAL{medias:un_}|concat{#ENV{media,document}},#VAL{medias:des_}|concat{#ENV{media,document},s}})]</h3> <caption>
<nav class='pagination tri'> <strong class="caption">[(#GRAND_TOTAL|singulier_ou_pluriel{#VAL{medias:un_}|concat{#ENV{media,document}},#VAL{medias:des_}|concat{#ENV{media,document},s}})][ - (#GET{poids_total}|taille_en_octets)]</strong>
[(#TRI{'>',#CHEMIN_IMAGE{tri-asc-16.png}|balise_img{<:par_tri_croissant:>}}) |] </caption>
[(#TRI{'<',#CHEMIN_IMAGE{tri-desc-16.png}|balise_img{<:par_tri_decroissant:>}}) |]
[(#TRI{id_document,<:medias:par_id:>}) |]
[(#TRI{date,<:medias:par_date:>}) |]
[(#TRI{taille,<:medias:par_taille:>}) |]
[(#TRI{largeur,<:medias:par_largeur:>}) |]
[(#TRI{hauteur,<:medias:par_hauteur:>}) |]
[(#TRI{titre,<:medias:par_titre:>}) |]
</nav>
[<nav class="pagination">(#PAGINATION{prive})</nav>]
<table>
<thead> <thead>
<th></th> <tr>
<th class="id"><:medias:id:></th> <th colspan="7">
<th></th> <nav class='pagination tri'>
<th><:medias:logo:></th> [(#TRI{'>',#CHEMIN_IMAGE{tri-asc-16.png}|balise_img{<:par_tri_croissant:>}}) |]
<th><:medias:infos:></th> [(#TRI{'<',#CHEMIN_IMAGE{tri-desc-16.png}|balise_img{<:par_tri_decroissant:>}}) |]
<th><:medias:descriptif:></th> [(#TRI{id_document,<:medias:par_id:>}) |]
<th></th> [(#TRI{date,<:medias:par_date:>}) |]
[(#TRI{taille,<:medias:par_taille:>}) |]
[(#TRI{largeur,<:medias:par_largeur:>}) |]
[(#TRI{hauteur,<:medias:par_hauteur:>}) |]
[(#TRI{titre,<:medias:par_titre:>}) |]
[<:medias:label_paginer_par:> (#GRAND_TOTAL|>{100}|oui)
[(#SELF|parametre_url{pagination,''}|lien_ou_expose{10,#ENV{pagination,10}|=={10},ajax})]
[<span class="sep">|</span> (#SELF|parametre_url{pagination,50}|lien_ou_expose{50,#ENV{pagination,10}|=={50},ajax})]]
[(#GRAND_TOTAL|>{500}|oui)
[<span class="sep">|</span> (#SELF|parametre_url{pagination,100}|lien_ou_expose{100,#ENV{pagination,10}|=={100},ajax})]
]
[(#GRAND_TOTAL|>{5000}|oui)
[<span class="sep">|</span> (#SELF|parametre_url{pagination,500}|lien_ou_expose{500,#ENV{pagination,10}|=={500},ajax})]
]
</nav>
</th>
</tr>
[<tr>
<th colspan="7">
<nav class="pagination">(#PAGINATION{prive})</nav>
</th>
</tr>]
<tr class="first_row">
<th class="logo"><:medias:logo:></th>
<th class="infos"></th>
<th class="id"><:medias:id:></th>
<th class="statut"></th>
<th class="exif"><:medias:infos:></th>
<th class="editorial"><:medias:descriptif:></th>
<th class="action"></th>
</tr>
</thead> </thead>
<BOUCLE_galerie(DOCUMENTS) {id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?} {tri id_document,inverse}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{titre==(#ENV{sanstitre}|?{'^$','.*'})}{pagination 10}> <tbody>
<tr class="[(#ENV{media}|non)[ media-(#MEDIA)]]" id="#ENV{iddoc,media}#ID_DOCUMENT"> <BOUCLE_galerie(DOCUMENTS) {id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?} {tri id_document,inverse}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{titre==(#ENV{sanstitre}|?{'^$','.*'})}{pagination 10}>
<td class='infos'> <tr class="[(#ENV{media}|non)[ media-(#MEDIA)]]" id="#ENV{iddoc,media}#ID_DOCUMENT">
[(#DISTANT|=={oui}|non)#SET{missing,#FICHIER|file_exists|non}] <td class="logo">
[(#ENV{media}|non|et{#MEDIA|!={file}})[(#CHEMIN_IMAGE{media-#MEDIA|concat{-32.png}}|balise_img|inserer_attribut{alt,#VAL{medias:media_#MEDIA}|_T}|inserer_attribut{title,#VAL{medias:media_#MEDIA}|_T})]] #SET{fichier,#DISTANT|=={oui}|?{#FICHIER,#FICHIER|basename}}
[(#GET{missing}|oui)<img src='#CHEMIN_IMAGE{document-manquant-24.png}' width='24' height='24' alt='<:medias:fichier_manquant:>' />] [(#MEDIA|=={image}|oui)[
[(#DISTANT|=={oui}|oui)<img src='#CHEMIN_IMAGE{document-distant-24.png}' width='24' height='24' alt='<:medias:fichier_distant:>' />] (#LOGO_DOCUMENT{apercu,200,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})
</td> ]]
<td class="id"> [(#MEDIA|=={image}|non)[<div class="#EDIT{vignette} resize-250">
<strong>#ID_DOCUMENT</strong> (#LOGO_DOCUMENT{auto,200,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})
</td> </div>]]
<td class='statut'> </td>
[(#ID_DOCUMENT|medias_puce_statut_document{#STATUT})] <td class='infos'>
</td> [(#DISTANT|=={oui}|non)#SET{missing,#FICHIER|file_exists|non}]
<td class="logo"> [(#ENV{media}|non|et{#MEDIA|!={file}})[(#CHEMIN_IMAGE{media-#MEDIA|concat{-32.png}}|balise_img|inserer_attribut{alt,#VAL{medias:media_#MEDIA}|_T}|inserer_attribut{title,#VAL{medias:media_#MEDIA}|_T})]]
#SET{fichier,#DISTANT|=={oui}|?{#FICHIER,#FICHIER|basename}} [<div class="extension">(#EXTENSION)</div>]
[(#MEDIA|=={image}|oui)[ [(#GET{missing}|oui)<img src='#CHEMIN_IMAGE{document-manquant-24.png}' width='24' height='24' alt='<:medias:fichier_manquant:>' />]
(#LOGO_DOCUMENT{apercu,200,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]}) [(#DISTANT|=={oui}|oui)<img src='#CHEMIN_IMAGE{document-distant-24.png}' width='24' height='24' alt='<:medias:fichier_distant:>' />]
]] </td>
[(#MEDIA|=={image}|non)[<div class="#EDIT{vignette} resize-250"> <td class="id">
(#LOGO_DOCUMENT{auto,200,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]}) <strong>#ID_DOCUMENT</strong>
</div>]] </td>
<div class="fichier">#GET{fichier}</div> <td class='statut'>
</td> [(#ID_DOCUMENT|medias_puce_statut_document{#STATUT})]
<td class="exif"> </td>
[<strong class="extension">(#EXTENSION)</strong>] <td class="exif">
[<div class="dimensions">(#LARGEUR|?{[(#LARGEUR)[ x (#HAUTEUR) pixels]],''})</div>] [(#REM) Infos résumées ]
[<div class="taille">(#TAILLE|taille_en_octets)</div>] [<div class="fichier" title="[(#GET{fichier}|attribut_html)]">(#GET{fichier})</div>]
[<div class="date">(#DATE|affdate{d/m/Y})</div>] [<div class="taille">(#TAILLE|taille_en_octets)</div>]
<B_liens>
[(#TOTAL_BOUCLE|>{1}|oui) [(#REM) Infos détaillées ]
<a href='#' onclick="jQuery(this).next().show();$(this).hide();return false;">[(#TOTAL_BOUCLE|singulier_ou_pluriel{medias:une_utilisation,medias:des_utilisations})]</a><div style='display: none;'> <a
] role="button"
<BOUCLE_liens(documents_liens){id_document}{'<br />'}> href="#"
[(#ID_OBJET|generer_lien_entite{#OBJET}|inserer_attribut{target,_blank})] class="btn btn_link btn_toggle"
</BOUCLE_liens> title="<:medias:details_document_afficher_masquer|attribut_html:>"
[(#TOTAL_BOUCLE|>{1}|oui)</div>] onclick="jQuery(this).next().toggle();return false;"
</B_liens> ><span class="sp-icone">+</span> <:medias:details_document:></a>
</td> <dl class="detaillees" style="display:none;">
<td class="descriptif"> [<dt class="detaillees__label"><:medias:label_fichier:></dt>
[<strong class="titre #EDIT{titre}">(#TITRE|sinon{#VAL{<i>}|concat{<:info_sans_titre:>,'</i>'}})</strong>] <dd class="detaillees__valeur fichier">(#GET{fichier})</dd>]
[<div class="descriptif #EDIT{descriptif}">(#DESCRIPTIF)</div>] [<dt class="detaillees__label"><:medias:label_titre_mimetype:></dt>
[<p class="credits #EDIT{credits}">(#CREDITS)</p>] <dd class="detaillees__valeur mimetype">(#GET{titre_mimetype})</dd>]
</td> [(#LARGEUR|ou{#HAUTEUR}|et{#MEDIA|=={image}})
<td> [<dt class="detaillees__label"><:medias:info_dimensions_image:></dt>
[(#REM) Utilisation de la galerie en mode selecteur, avec un bouton choix qui appelle une fonction js passee en argument] <dd class="detaillees__valeur dimensions">(#VAL{info_largeur_vignette}|_T{#ARRAY{largeur_vignette,#LARGEUR,hauteur_vignette,#HAUTEUR}})</dd>]
[<span class="choisir"><input type="submit" onclick="(#ENV{selectfunc,''})([(#ID_DOCUMENT)]);return false;" value="<:bouton_choisir|attribut_html:>" /></span>] [<dt class="detaillees__label"><:medias:info_resolution_image:></dt>
</td> <dd class="detaillees__valeur resolution">(#VAL{medias:info_resolution_mpx}|_T{#ARRAY{resolution,#LARGEUR|mult{#HAUTEUR}|div{1000000}|round{1}|number_format{1}}})</dd>]
</tr> ]
</BOUCLE_galerie> [(#MEDIA|in_array{#LISTE{audio,video}}|et{#DUREE|intval}|oui)
[<dt class="detaillees__label"><:medias:info_duree:></dt>
<dd class="detaillees__valeur duree">(#DUREE|duree_en_secondes)</dd>]
]
[<dt class="detaillees__label"><:medias:info_taille:></dt>
<dd class="detaillees__valeur taille">(#TAILLE|taille_en_octets)</dd>]
[<dt class="detaillees__label"><:date:></dt>
<dd class="detaillees__valeur date">(#DATE|affdate{d/m/Y})</dd>]
</dl>
[(#PIPELINE{afficher_metas_document,#ARRAY{args,#ARRAY{'quoi','galerie','id_document',#ID_DOCUMENT},data,''}})]
<B_utilisations>
[(#TOTAL_BOUCLE|>{1}|oui)
<a role="button" class="btn btn_link btn_toggle" href='#' onclick="jQuery(this).next().toggle();/*$(this).hide();*/return false;">
<span class="sp-icone">+</span> [(#TOTAL_BOUCLE|singulier_ou_pluriel{medias:une_utilisation,medias:des_utilisations})]
</a>
]
<ul class="utilisations"[ (#TOTAL_BOUCLE|>{1}|oui)style="display:none"]>
<BOUCLE_utilisations(documents_liens) {id_document} {fusion objet} {fusion id_objet}>
[<li class="utilisations__item">
<a class="" href="(#ID_OBJET|generer_url_entite{#OBJET})">[(#CHEMIN_IMAGE{vu-16.png}|balise_img{'',sp-icone}) ][(#INFO_TITRE{#OBJET,#ID_OBJET}|couper{50})]</a>
</li>]
</BOUCLE_utilisations>
</ul>
</B_utilisations>
</td>
<td class="editorial">
[<strong class="titre #EDIT{titre}">(#TITRE|sinon{#VAL{<i class="sans-titre">}|concat{<:info_sans_titre:>,'</i>'}})</strong>]
[<div class="descriptif #EDIT{descriptif}">(#DESCRIPTIF)</div>]
[<p class="credits #EDIT{credits}"><span class="label"><:medias:label_credits:></span><span class="sep"> &ndash; </span><span class="valeur">(#CREDITS)</span></p>]
[<p class="alt #EDIT{alt}"><span class="label"><:medias:label_alt:></span><span class="sep"> &ndash; </span><span class="valeur">(#ALT)</span></p>]
</td>
<td class="action">
[(#REM) Utilisation de la galerie en mode selecteur, avec un bouton choix qui appelle une fonction js passee en argument]
[<span class="choisir"><input class="btn" type="submit" onclick="(#ENV{selectfunc,''})([(#ID_DOCUMENT)]);return false;" value="<:bouton_choisir|attribut_html:>" /></span>]
</td>
</tr>
</BOUCLE_galerie>
</tbody>
</table> </table>
[<nav class='pagination'>(#PAGINATION{prive})</nav>] [<nav class='pagination'>(#PAGINATION{prive})</nav>]
</B_galerie> </B_galerie>
<h3>[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]</h3> <div class="liste-objets galerie galerie-choisir mini caption-wrap">
<h3 class="caption">[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]</h3>
</div>
<//B_galerie> <//B_galerie>
</div><!--#galerie--> </div><!--#galerie-->
#SET{editable,#ENV{editable,oui}|=={non}|non} #SET{editable,#ENV{editable,oui}|=={non}|non}
<div class="galerie[ media-(#ENV{media,''})]"> <div class="liste-objets galerie[ media-(#ENV{media,''})]">
[(#SET{poids_total,0})]<BOUCLE_poids_total(DOCUMENTS){id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{titre==(#ENV{sanstitre}|?{'^$','.*'})}{id_vignette==(#ENV{sansvignette}|?{'^0','.*'})}>[(#SET{poids_total,#GET{poids_total}|plus{#TAILLE}})]</BOUCLE_poids_total> [(#SET{poids_total,0})]<BOUCLE_poids_total(DOCUMENTS){id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{titre==(#ENV{sanstitre}|?{'^$','.*'})}{id_vignette==(#ENV{sansvignette}|?{'^0','.*'})}>[(#SET{poids_total,#GET{poids_total}|plus{#TAILLE}})]</BOUCLE_poids_total>
<B_galerie> <B_galerie>
<h2>[(#GRAND_TOTAL|singulier_ou_pluriel{#VAL{medias:un_}|concat{#ENV{media,document}},#VAL{medias:des_}|concat{#ENV{media,document},s}})][ - (#GET{poids_total}|taille_en_octets)]</h2> <table class="spip liste">
<nav class='pagination tri'> <caption>
[(#TRI{'>',#CHEMIN_IMAGE{tri-asc-16.png}|balise_img{<:par_tri_croissant:>}}) |] <strong class="caption">[(#GRAND_TOTAL|singulier_ou_pluriel{#VAL{medias:un_}|concat{#ENV{media,document}},#VAL{medias:des_}|concat{#ENV{media,document},s}})][ - (#GET{poids_total}|taille_en_octets)]</strong>
[(#TRI{'<',#CHEMIN_IMAGE{tri-desc-16.png}|balise_img{<:par_tri_decroissant:>}}) |] </caption>
[(#TRI{id_document,<:medias:par_id:>}) |]
[(#TRI{date,<:medias:par_date:>}) |]
[(#TRI{taille,<:medias:par_taille:>}) |]
[(#TRI{largeur,<:medias:par_largeur:>}) |]
[(#TRI{hauteur,<:medias:par_hauteur:>}) |]
[(#TRI{titre,<:medias:par_titre:>}) |]
[<:medias:label_paginer_par:> (#GRAND_TOTAL|>{100}|oui)
[(#SELF|parametre_url{pagination,''}|lien_ou_expose{10,#ENV{pagination,10}|=={10},ajax})]
[<span class="sep">|</span> (#SELF|parametre_url{pagination,50}|lien_ou_expose{50,#ENV{pagination,10}|=={50},ajax})]]
[(#GRAND_TOTAL|>{500}|oui)
[<span class="sep">|</span> (#SELF|parametre_url{pagination,100}|lien_ou_expose{100,#ENV{pagination,10}|=={100},ajax})]
]
[(#GRAND_TOTAL|>{5000}|oui)
[<span class="sep">|</span> (#SELF|parametre_url{pagination,500}|lien_ou_expose{500,#ENV{pagination,10}|=={500},ajax})]
]
</nav>
[<nav class="pagination">(#PAGINATION{prive})</nav>]
<table>
<thead> <thead>
<th></th> <tr>
<th class="id"><:medias:id:></th> <th colspan="7">
<th></th> <nav class='pagination tri'>
<th><:medias:logo:></th> [(#TRI{'>',#CHEMIN_IMAGE{tri-asc-16.png}|balise_img{<:par_tri_croissant:>}}) |]
<th><:medias:infos:></th> [(#TRI{'<',#CHEMIN_IMAGE{tri-desc-16.png}|balise_img{<:par_tri_decroissant:>}}) |]
<th><:medias:descriptif:></th> [(#TRI{id_document,<:medias:par_id:>}) |]
<th></th> [(#TRI{date,<:medias:par_date:>}) |]
[(#TRI{taille,<:medias:par_taille:>}) |]
[(#TRI{largeur,<:medias:par_largeur:>}) |]
[(#TRI{hauteur,<:medias:par_hauteur:>}) |]
[(#TRI{titre,<:medias:par_titre:>}) |]
[<:medias:label_paginer_par:> (#GRAND_TOTAL|>{100}|oui)
[(#SELF|parametre_url{pagination,''}|lien_ou_expose{10,#ENV{pagination,10}|=={10},ajax})]
[<span class="sep">|</span> (#SELF|parametre_url{pagination,50}|lien_ou_expose{50,#ENV{pagination,10}|=={50},ajax})]]
[(#GRAND_TOTAL|>{500}|oui)
[<span class="sep">|</span> (#SELF|parametre_url{pagination,100}|lien_ou_expose{100,#ENV{pagination,10}|=={100},ajax})]
]
[(#GRAND_TOTAL|>{5000}|oui)
[<span class="sep">|</span> (#SELF|parametre_url{pagination,500}|lien_ou_expose{500,#ENV{pagination,10}|=={500},ajax})]
]
</nav>
</th>
</tr>
[<tr>
<th colspan="7">
<nav class="pagination">(#PAGINATION{prive})</nav>
</th>
</tr>]
<tr class="first_row">
<th class="logo"><:medias:logo:></th>
<th class="infos"></th>
<th class="id"><:medias:id:></th>
<th class="statut"></th>
<th class="exif"><:medias:infos:></th>
<th class="editorial"><:medias:descriptif:></th>
<th class="action"></th>
</tr>
</thead> </thead>
<BOUCLE_galerie(DOCUMENTS) {id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?} {tri id_document,inverse}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{titre==(#ENV{sanstitre}|?{'^$','.*'})}{id_vignette==(#ENV{sansvignette}|?{'^0','.*'})}{pagination #ENV{pagination,10}}> <tbody>
<tr class="[(#ENV{media}|non)[ media-(#MEDIA)]]" id="#ENV{iddoc,media}#ID_DOCUMENT"> <BOUCLE_galerie(DOCUMENTS) {id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?} {tri id_document,inverse}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{titre==(#ENV{sanstitre}|?{'^$','.*'})}{id_vignette==(#ENV{sansvignette}|?{'^0','.*'})}{pagination #ENV{pagination,10}}>
<td class='infos'> #SET{titre_mimetype,''}
[(#DISTANT|=={oui}|non)#SET{missing,#FICHIER|file_exists|non}] <BOUCLE_type(types_documents) {extension}>#SET{titre_mimetype,#TITRE}</BOUCLE_type>
[(#ENV{media}|non|et{#MEDIA|!={file}})[(#CHEMIN_IMAGE{media-#MEDIA|concat{-32.png}}|balise_img|inserer_attribut{alt,#VAL{medias:media_#MEDIA}|_T}|inserer_attribut{title,#VAL{medias:media_#MEDIA}|_T})]] <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#ENV{media}|non)[ media-(#MEDIA)]]" id="#ENV{iddoc,media}#ID_DOCUMENT">
[(#GET{missing}|oui)[(#CHEMIN_IMAGE{document-manquant-32.png}|balise_img{<:medias:fichier_manquant:>}|inserer_attribut{title,<:medias:fichier_manquant:>})]] <td class="logo">
[(#DISTANT|=={oui}|oui)[(#CHEMIN_IMAGE{document-distant-32.png}|balise_img{<:medias:fichier_distant:>}|inserer_attribut{title,<:medias:fichier_distant:>})]] #SET{fichier,#DISTANT|=={oui}|?{#FICHIER,#FICHIER|basename}}
</td> [(#MEDIA|=={image}|oui)[
<td class="id"> <a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#GET{fichier})"]>(#LOGO_DOCUMENT{apercu,250,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})</a>
<strong>#ID_DOCUMENT</strong> ]]
</td> [(#MEDIA|=={image}|non)[<div class="#EDIT{vignette} resize-250">
<td class='statut'> <a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#GET{fichier})"]>(#LOGO_DOCUMENT{auto,250,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})</a>
[(#ID_DOCUMENT|medias_puce_statut_document{#STATUT})] </div>]]
</td> </td>
<td class="logo"> <td class='infos'>
#SET{fichier,#DISTANT|=={oui}|?{#FICHIER,#FICHIER|basename}} [(#DISTANT|=={oui}|non)#SET{missing,#FICHIER|file_exists|non}]
[(#MEDIA|=={image}|oui)[ [(#ENV{media}|non|et{#MEDIA|!={file}})[(#CHEMIN_IMAGE{media-#MEDIA|concat{-32.png}}|balise_img{[(#VAL{medias:media_#MEDIA}|_T)],type-media}|inserer_attribut{title,#VAL{medias:media_#MEDIA}|_T})]]
<a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#GET{fichier})"]>(#LOGO_DOCUMENT{apercu,250,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})</a> [<div class="extension">(#EXTENSION)</div>]
]] [(#GET{missing}|oui)[(#CHEMIN_IMAGE{document-manquant-32.png}|balise_img{<:medias:fichier_manquant:>}|inserer_attribut{title,<:medias:fichier_manquant:>})]]
[(#MEDIA|=={image}|non)[<div class="#EDIT{vignette} resize-250"> [(#DISTANT|=={oui}|oui)[(#CHEMIN_IMAGE{document-distant-32.png}|balise_img{<:medias:fichier_distant:>}|inserer_attribut{title,<:medias:fichier_distant:>})]]
<a href="#URL_DOCUMENT" type="#MIME_TYPE"[ title="(#GET{fichier})"]>(#LOGO_DOCUMENT{auto,250,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})</a> </td>
</div>]] <td class="id">
<div class="fichier">#GET{fichier}</div> <strong>#ID_DOCUMENT</strong>
</td> </td>
<td class="exif"> <td class='statut'>
[<strong class="extension">(#EXTENSION)</strong>] [(#ID_DOCUMENT|medias_puce_statut_document{#STATUT})]
[<div class="dimensions">(#LARGEUR|?{[(#LARGEUR)[ x (#HAUTEUR) pixels]],''})</div>] </td>
[<div class="taille">(#TAILLE|taille_en_octets)</div>] <td class="exif">
[<div class="date">(#DATE|affdate{d/m/Y})</div>]
[(#PIPELINE{afficher_metas_document,#ARRAY{args,#ARRAY{'quoi','galerie','id_document',#ID_DOCUMENT},data,''}})] [(#REM) Infos résumées ]
<B_liens> [<div class="fichier" title="[(#GET{fichier}|attribut_html)]">(#GET{fichier})</div>]
[(#TOTAL_BOUCLE|>{1}|oui) [<div class="taille">(#TAILLE|taille_en_octets)</div>]
<a href='#' onclick="jQuery(this).next().show();$(this).hide();return false;">[(#TOTAL_BOUCLE|singulier_ou_pluriel{medias:une_utilisation,medias:des_utilisations})]</a><div style='display: none;'>
] [(#REM) Infos détaillées ]
<BOUCLE_liens(documents_liens){id_document}{fusion objet}{fusion id_objet}{'<br />'}> <a
[(#ID_OBJET|generer_lien_entite{#OBJET})] role="button"
</BOUCLE_liens> href="#"
[(#TOTAL_BOUCLE|>{1}|oui)</div>] class="btn btn_link btn_toggle"
</B_liens> title="<:medias:details_document_afficher_masquer|attribut_html:>"
</td> onclick="jQuery(this).next().toggle();return false;"
<td class="descriptif"> ><span class="sp-icone">+</span> <:medias:details_document:></a>
[<strong class="titre #EDIT{titre}">(#TITRE|sinon{#VAL{<i>}|concat{<:info_sans_titre:>,'</i>'}})</strong>] <dl class="detaillees" style="display:none;">
[<div class="descriptif #EDIT{descriptif}">(#DESCRIPTIF)</div>] [<dt class="detaillees__label"><:medias:label_fichier:></dt>
[<p class="credits #EDIT{credits}">(#CREDITS)</p>] <dd class="detaillees__valeur fichier">(#GET{fichier})</dd>]
</td> [<dt class="detaillees__label"><:medias:label_titre_mimetype:></dt>
<td> <dd class="detaillees__valeur mimetype">(#GET{titre_mimetype})</dd>]
[(#REM) Utilisation de la galerie en mode portfolio, avec renvoi vers l'edition] [(#LARGEUR|ou{#HAUTEUR}|et{#MEDIA|=={image}})
[(#GET{editable}) [<dt class="detaillees__label"><:medias:info_dimensions_image:></dt>
[(#AUTORISER{modifier,document,#ID_DOCUMENT})&#91;<a href='#URL_ECRIRE{document_edit,id_document=#ID_DOCUMENT}'><:bouton_modifier:></a>&#93;] <dd class="detaillees__valeur dimensions">(#VAL{info_largeur_vignette}|_T{#ARRAY{largeur_vignette,#LARGEUR,hauteur_vignette,#HAUTEUR}})</dd>]
[<span class='supprimer'>(#AUTORISER{supprimer,document,#ID_DOCUMENT})[(#BOUTON_ACTION{<:medias:bouton_supprimer:>,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT,#SELF},ajax,'','',[(function(){jQuery("##ENV{iddoc,media}(#ID_DOCUMENT)").animateRemove();return true;})()]})]</span>] [<dt class="detaillees__label"><:medias:info_resolution_image:></dt>
] <dd class="detaillees__valeur resolution">(#VAL{medias:info_resolution_mpx}|_T{#ARRAY{resolution,#LARGEUR|mult{#HAUTEUR}|div{1000000}|round{1}|number_format{1}}})</dd>]
[(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,galerie},data,''}})] ]
</td> [(#MEDIA|in_array{#LISTE{audio,video}}|et{#DUREE|intval}|oui)
</tr> [<dt class="detaillees__label"><:medias:info_duree:></dt>
</BOUCLE_galerie> <dd class="detaillees__valeur duree">(#DUREE|duree_en_secondes)</dd>]
]
[<dt class="detaillees__label"><:medias:info_taille:></dt>
<dd class="detaillees__valeur taille">(#TAILLE|taille_en_octets)</dd>]
[<dt class="detaillees__label"><:date:></dt>
<dd class="detaillees__valeur date">(#DATE|affdate{d/m/Y})</dd>]
</dl>
[(#PIPELINE{afficher_metas_document,#ARRAY{args,#ARRAY{'quoi','galerie','id_document',#ID_DOCUMENT},data,''}})]
<B_utilisations>
[(#TOTAL_BOUCLE|>{1}|oui)
<a role="button" class="btn btn_link btn_toggle" href='#' onclick="jQuery(this).next().toggle();/*$(this).hide();*/return false;">
<span class="sp-icone">+</span> [(#TOTAL_BOUCLE|singulier_ou_pluriel{medias:une_utilisation,medias:des_utilisations})]
</a>
]
<ul class="utilisations"[ (#TOTAL_BOUCLE|>{1}|oui)style="display:none"]>
<BOUCLE_utilisations(documents_liens) {id_document} {fusion objet} {fusion id_objet}>
[<li class="utilisations__item">
<a class="" href="(#ID_OBJET|generer_url_entite{#OBJET})">[(#CHEMIN_IMAGE{vu-16.png}|balise_img{'',sp-icone}) ][(#INFO_TITRE{#OBJET,#ID_OBJET}|couper{50})]</a>
</li>]
</BOUCLE_utilisations>
</ul>
</B_utilisations>
</td>
<td class="editorial">
[<strong class="titre #EDIT{titre}">(#TITRE|sinon{#VAL{<i class="sans-titre">}|concat{<:info_sans_titre:>,'</i>'}})</strong>]
[<div class="descriptif #EDIT{descriptif}">(#DESCRIPTIF)</div>]
[<p class="credits #EDIT{credits}"><span class="label"><:medias:label_credits:></span><span class="sep"> &ndash; </span><span class="valeur">(#CREDITS)</span></p>]
[<p class="alt #EDIT{alt}"><span class="label"><:medias:label_alt:></span><span class="sep"> &ndash; </span><span class="valeur">(#ALT)</span></p>]
</td>
<td class="action">
[(#REM) Utilisation de la galerie en mode portfolio, avec renvoi vers l'edition]
[(#GET{editable}|oui)
<div class="groupe-btns groupe-btns_vertical">
[(#AUTORISER{modifier,document,#ID_DOCUMENT})<a class="btn" href='#URL_ECRIRE{document_edit,id_document=#ID_DOCUMENT}'><:bouton_modifier:></a>]
[(#AUTORISER{supprimer,document,#ID_DOCUMENT})[(#BOUTON_ACTION{<:medias:bouton_supprimer:>,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT,#SELF},ajax btn btn_secondaire btn_supprimer,'','',[(function(){jQuery("##ENV{iddoc,media}(#ID_DOCUMENT)").animateRemove();return true;})()]})]]
</div>
]
[(#REM) On ne sait pas si le contenu ajouté par le pipeline consiste en des boutons, donc pas inclus dans le groupe. ]
[(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,galerie},data,''}})]
</td>
</tr>
</BOUCLE_galerie>
</tbody>
</table> </table>
[<nav class='pagination'>(#PAGINATION{prive})</nav>] [<nav class='pagination'>(#PAGINATION{prive})</nav>]
#SET{nb_orphelins,#GRAND_TOTAL} #SET{nb_orphelins,#GRAND_TOTAL}
</B_galerie> </B_galerie>
<h2>[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]</h2>
<div class="liste-objets galerie caption-wrap">
<h2 class="caption">[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]</h2>
</div>
<//B_galerie> <//B_galerie>
[(#ENV{orphelins}|et{#AUTORISER{supprimer,orphelins,'',#SESSION{id_auteur}}}) [(#ENV{orphelins}|et{#AUTORISER{supprimer,orphelins,'',#SESSION{id_auteur}}})
[(#INCLURE{fond=prive/squelettes/inclure/bouton-supprimer-orphelins,env,nb_orphelins=#GET{nb_orphelins}})] [(#INCLURE{fond=prive/squelettes/inclure/bouton-supprimer-orphelins,env,nb_orphelins=#GET{nb_orphelins}})]
] ]
......
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
<div class='nettoyeur'></div> <div class='nettoyeur'></div>
#FORMULAIRE_RECHERCHE_ECRIRE{#GET{self},ajax} #FORMULAIRE_RECHERCHE_ECRIRE{#GET{self},ajax}
<div class="nettoyeur"></div>
<INCLURE{fond=#ENV{galerie,''}|spip_sanitize_from_request{galerie,vide}|sinon{prive/squelettes/inclure/mediatheque-galerie},ajax=documents,env} /> <INCLURE{fond=#ENV{galerie,''}|spip_sanitize_from_request{galerie,vide}|sinon{prive/squelettes/inclure/mediatheque-galerie},ajax=documents,env} />
......
...@@ -63,46 +63,140 @@ ...@@ -63,46 +63,140 @@
a.bouton_fermer {display:block;text-align:#GET{right};} a.bouton_fermer {display:block;text-align:#GET{right};}
.galerie { float: none; width: 100%; padding:0;margin-bottom: #ENV{margin-bottom};} /**
.galerie .pagination {clear:both;font-size:0.95em;} * Galerie
.galerie .pagination + .pagination {border-top: 0;margin-top:-1px;} */
.galerie table { width: 100%; border: none; margin-bottom: 0}
.galerie table thead,.galerie table thead th { background: #e5e5e5;background: -webkit-gradient(linear, left top, left bottom, from(#f0f0f0), to(#e0e0e0));background-image: -webkit-linear-gradient(top, #f0f0f0, #e0e0e0);background-image: -moz-linear-gradient(top, #f0f0f0, #e0e0e0);background-image: -ms-linear-gradient(top, #f0f0f0, #e0e0e0);background-image: -o-linear-gradient(top, #f0f0f0, #e0e0e0);background-image: linear-gradient(top, #f0f0f0, #e0e0e0);filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#f0f0f0', endColorstr='#e0e0e0');}
.galerie table tbody tr:hover { background: [#(#GET{claire}|couleur_eclaircir|couleur_eclaircir)]; }
.galerie table td { min-height: 100px; vertical-align: top; word-break: break-word;}
.galerie table th, .galerie table td { padding: 0.5em .3em; border-bottom: 1px solid #ccc; }
.galerie table th.id { text-align: right; }
.galerie table td.id { width: 80px; text-align: right; vertical-align: top; line-height: normal; }
.galerie table td.id strong { font-size: 1.6em; color: #666; font-weight: normal; }
.galerie table td.infos {min-width: 24px;}
.galerie table td.statut { width: 9px; }
.galerie table td.logo { width: 250px; overflow: hidden; }
.galerie table td.logo img { /*border: 1px solid #666;*/ }
.galerie table .fichier {font-size:0.8em;width:250px;overflow:hidden;font-style:italic;}
.galerie table td.exif { width: 140px; }
.galerie table td.exif small { display: inline; }
.galerie table td.exif .extension {}
.galerie table td.exif .dimensions { font-size: .9em; }
.galerie table td.exif .taille { font-size: .9em; font-weight: bold; color: #666; }
.galerie table td.exif .date { font-size: .9em; }
.galerie table td.descriptif { }
.galerie table .supprimer {display:block;font-size:0.8em;margin-top:1em;}
.galerie.media-image h2 { background: url(#CHEMIN_IMAGE{media-image-32.png}) no-repeat center left; padding: 6px;padding-left: 40px;background-size:32px;}
.galerie.media-audio h2 { background: url(#CHEMIN_IMAGE{media-audio-32.png}) no-repeat center left; padding: 6px;padding-left: 40px;background-size:32px;}
.galerie.media-video h2 { background: url(#CHEMIN_IMAGE{media-video-32.png}) no-repeat center left; padding: 6px;padding-left: 40px;background-size:32px;}
.galerie table td.exif { background-repeat: no-repeat; background-position: top right; }
/* Caption */
.liste-objets.galerie[class*="media-"] .caption {
padding-left: var(--spip-list-heading-iconpadding);
background-size: var(--spip-list-heading-iconsize);
background-repeat: no-repeat;
background-position: var(--spip-left) var(--spip-list-spacing-x) center;
}
.liste-objets.galerie.media-image .caption {
background-image: url(#CHEMIN_IMAGE{media-image-32.png});
}
.liste-objets.galerie.media-audio .caption {
background-image: url(#CHEMIN_IMAGE{media-audio-32.png});
}
.liste-objets.galerie.media-video .caption {
background-image: url(#CHEMIN_IMAGE{media-video-32.png});
}
/* Colonne logo */
.liste-objets.galerie th.logo,
.liste-objets.galerie td.logo {
width: 270px; /* laisser un peu respirer (largeur max image = 250px) */
overflow: hidden;
text-align: center;
}
/* Colonne infos : media, extension, distant, orphelin */
.liste-objets.galerie td.infos {
min-width: 24px;
}
.liste-objets.galerie .type-media {
margin-bottom: 0.2em;
}
.liste-objets.galerie .extension {
text-transform: uppercase;
}
/* Colonne exif : infos techniques */
.liste-objets.galerie td.exif {
vertical-align: top;
}
.liste-objets.galerie .fichier,
.liste-objets.galerie .taille {
margin-bottom: 0.25em;
}
.liste-objets.galerie .fichier {
display: block;
max-width: 15em;
overflow: hidden;
text-overflow: ellipsis;
}
.liste-objets.galerie .detaillees {
display: grid;
grid-template-columns: max-content 1fr;
margin-bottom: 0.5em;
}
.liste-objets.galerie .detaillees__label,
.liste-objets.galerie .detaillees__valeur {
padding: 0.33em 0;
border-bottom: 1px solid var(--spip-box-sep-color);
}
.liste-objets.galerie .detaillees__valeur {
padding-#LEFT: 1em;
margin-bottom: 0;
}
.liste-objets.galerie .detaillees__label:last-of-type,
.liste-objets.galerie .detaillees__valeur:last-of-type {
border-bottom: 0;
}
/* dans les détails il faut voir le nom de fichier en entier */
.liste-objets.galerie .detaillees .fichier {
margin: 0;
word-wrap: break-word;
}
.liste-objets.galerie .detaillees .taille {
margin: 0;
}
.liste-objets.galerie .detaillees .taille {}
.liste-objets.galerie .detaillees .date {}
.liste-objets.galerie .exif .utilisations {
margin: 0;
padding: 0;
list-style: none;
}
.liste-objets.galerie .exif .utilisations__item {}
.liste-objets.galerie .exif .btn_link {
padding-#LEFT: 0;
margin: 0;
}
/* Colonne titre + crédits + descriptif */
.liste-objets.galerie td.editorial {
vertical-align: top;
}
.liste-objets.galerie td.editorial .titre:not(:last-child),
.liste-objets.galerie td.editorial .descriptif:not(:last-child),
.liste-objets.galerie td.editorial p {
margin-bottom: 0.5em;
}
.liste-objets.galerie td.editorial p:last-child {
margin-bottom: 0;
}
.liste-objets.galerie .titre {
display: block;
}
.liste-objets.galerie .sans-titre {
font-weight: normal;
font-style: normal;
color: var(--spip-color-gray);
}
.liste-objets.galerie .descriptif { }
.liste-objets.galerie .credits { }
/* Modale avec galerie pour choisir */
.popin-choisir_document {} .popin-choisir_document {}
.popin-choisir_document .onglets_simple.second {display:none;} .popin-choisir_document .onglets_simple.second {
.popin-choisir_document .galerie table td.id {width:40px;} display: none;
.popin-choisir_document .galerie table td.logo {width:200px;} }
.popin-choisir_document .galerie table td.exif {width:120px;} .popin-choisir_document .liste-objets.galerie td {
.popin-choisir_document .galerie table td.descriptif {max-width:150px;} word-wrap: break-word;
.popin-choisir_document .galerie table td {word-wrap: break-word;} }
.popin-choisir_document .liste-objets.galerie tr > .logo {
width: 200px;
}
.popin-choisir_document .liste-objets.galerie tr > .editorial {
max-width: 20em;
}
.liste-objets.galerie .fichier {
max-width: 12em;
word-wrap: initial;
}
.spip_documents_legende {border:1px solid #GET{foncee};text-align:center;font-size:0.9em;margin:0 0 1em;} .spip_documents_legende {border:1px solid #GET{foncee};text-align:center;font-size:0.9em;margin:0 0 1em;}
.spip_documents_legende dt {background:#GET{foncee};color:#fff;padding:5px 3px;font-weight:bold;} .spip_documents_legende dt {background:#GET{foncee};color:#fff;padding:5px 3px;font-weight:bold;}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter