source: spip-zone/_squelettes_/mediaspip/mediaspip_core/trunk/inclure/articles-medias_liste.html @ 79092

Last change on this file since 79092 was 79092, checked in by severo@…, 6 years ago

On montre "Médias (0)" et les filtres si aucun média trouvé.

C'est plus cohérent que l'existant, qui n'affichait qu'un texte
d'explication, maintenant qu'on montre les filtres de recherche,
avec la possibilité de les désactiver.

File size: 13.7 KB
Line 
1[(#REM)
2
3        Squelette affichant une liste de médias
4        Les arguments suivants peuvent être passés au squelette :
5       
6                -* afficher_nombre (string) : si == oui, affiche le nombre de résultats dans le H2
7                -* couper (int) : coupera les titres des éléments à n caractères
8                -* id_rubrique (int) : affichera les medias limités à une branche (rubrique et enfants)
9                -* id_auteur (int) : affichera les médias d'un auteur
10                -* id_mot (int) : affichera les médias liés à un tag en particulier
11                -* id_licence (int) : affichera les médias liés à une licence particulière
12                -* mesfavoris (string) oui|non|ignore : Utilisé que si le plugin mesfavoris est présent
13                -** si oui : affiche les favoris de l'auteur en cours;
14                -** si non : affiche les non favoris de l'auteur en cours;
15                -** si ignore (défaut) : désactive le critère
16                -* mots (array) : Utilisé que si le plugin critere_mots est présent
17                -* em_type (string) : afficher la médias associés à un type spécifique (emballe medias)
18                -* type_date (string) : champ de date à utiliser dans le critère agenda : date (défaut), date_redac ou maj
19                -* date_debut (date XXXX-XX-XX) : limite minimale de la date de publication
20                -* date_fin (date XXXX-XX-XX) : limite maximale de la date de publication
21                -* id_bloc (string) : l'id du bloc principal sinon liste_medias (est également utilisé pour le nom de la pagination)
22                -* limite : le nombre maximal total d'éléments à afficher
23                -* limite_pagination : nombre de résultats par pagination
24                -* limite_pagination_min : le pas minimal de pagination
25                -* limite_pagination_max : nombre maximal de résultats par pagination pour le formulaire de choix de pagination
26                -* type_pagination : le modèle de pagination à utiliser
27                -* recherche (string) : le contenu d'une recherche
28                -* statuts (array) : un array de statuts des éléments à afficher
29                -* titre_liste : modifie le titre de la liste (H2)
30                -* tri_medias_forcer (string) : changera l'ordre de tri
31                -* lang (string) code de langue : utilisera cette langue par défaut sinon celle de l'environnement
32                -* lang_forcee (string) : Si quelque chose est passé, cela n'affichera les résultats que de la langue passée (à défaut, la langue de l'environnement)
33                -* toutes_langues (string oui|non) : Ne triera pas en fonction de la langue de l'environnement si on n'a pas lang_forcee (affichera tous les résultats)
34                -* message_null (string oui|non) : Si oui, ne rien afficher s'il n'y a pas de résultat. Valeur par défaut : non
35                -* vueliste_medias (thumbnail|listview) : par défaut thumbnail, affichage en blocs ou en lignes
36               
37]
38[(#SI_PAGE{sommaire}|et{#CONFIG{mediaspip/home/choix_highlight}|=={on}}|oui)
39#SET{tri_articles_home,#CONFIG{mediaspip/home/highlights_choisir_tri}}
40[(#CONFIG{mediaspip/home/choix_highlight_article}|is_array|et{#ENV{triliste_medias}|non}|oui)
41#SET{articles,#CONFIG{mediaspip/home/choix_highlight_article}}]]
42#SET{vue, #ENV{vueliste_medias,#CONFIG{mediaspip/recherche/vue_defaut,thumbnail}}}
43
44[(#CONFIG{langues_multilingue}|explode{','}|count|>{1}|oui)
45[(#SET{afficher_langue,oui})]]
46#SET{critere_inverse,#ARRAY|push{date}|push{''}|push{'articles.maj'}|push{popularite}|push{moyenne}|push{date_redac}}
47#SET{limite,#ENV{limite_affichage,10000000000000000000000}}
48#SET{limite_pagination,#ENV{pagination#ENV{id_bloc,liste_medias},#CONFIG{mediaspip/recherche/pas_pagination_defaut,6}}}
49#SET{limite_pagination_min,#ENV{limite_pagination_min,#CONFIG{mediaspip/recherche/pas_pagination_defaut,6}}}
50#SET{limite_pagination_max,#ENV{limite_pagination_max,100}}
51#SET{tri_medias,#ENV{triliste_medias,#ENV{tri_medias_forcer,#GET{tri_articles_home,#CONFIG{mediaspip/recherche/tri_defaut,'date'}}}}}
52#SET{tri_medias_tous,#ENV{tri#ENV{id_bloc,liste_medias},#ENV{tri_medias_forcer,#GET{tri_articles_home,#CONFIG{mediaspip/recherche/tri_defaut,'date'}}}}}
53[(#GET{tri_medias}|in_array{#LISTE{maj}}|oui)[(#SET{tri_medias,articles.#GET{tri_medias}})]]
54
55[(#GET{tri_medias_tous}|in_array{#LISTE{maj}}|oui)
56        [(#SET{tri_medias_tous,articles.#GET{tri_medias_tous}})]]
57
58#SET{date_debut,#ENV{date_debut,1970-01-02 00:00}}
59#SET{annee_debut,#GET{date_debut}|affdate{Y}}
60#SET{mois_debut,#GET{date_debut}|affdate{m}}
61#SET{jour_debut,#GET{date_debut}|affdate{d}}
62#SET{date_fin,#ENV{date_fin,2030-12-31 00:00}}
63#SET{annee_fin,#GET{date_fin}|affdate{Y}}
64#SET{mois_fin,#GET{date_fin}|affdate{m}}
65#SET{jour_fin,#GET{date_fin}|affdate{d}}
66#SET{type_date,#ENV{type_date,date}}
67
68<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
69[(#SET{articles_rubriques,#ARRAY})]
70<BOUCLE_si_toutes_langues(CONDITION){si #ENV{toutes_langues}|=={oui}|non}>
71        <BOUCLE_articles_rubrique_origine(ARTICLES){id_secteur=#CONFIG{mediaspip/rubriques/medias}}{statut IN #ENV{statuts,publie}}{branche}{branche_complete}{mesfavoris #ENV{mesfavoris,ignore}}{origine_traduction}{doublons}>
72        <BOUCLE_articles_rubrique_langue_en_cours(ARTICLES){traduction}{statut IN #ENV{statuts,publie}}{lang = #ENV{lang_forcee,#ENV{lang}}}{doublons}>
73        #SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}}
74        </BOUCLE_articles_rubrique_langue_en_cours>
75        [(#ENV{lang_forcee}|et{[(#LANG|=={#ENV{lang_forcee}})]}|oui)#SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}} ]
76        [(#ENV{lang_forcee}|non)#SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}}]
77        <//B_articles_rubrique_langue_en_cours>
78        </BOUCLE_articles_rubrique_origine>
79
80</BOUCLE_si_toutes_langues>
81        <BOUCLE_articles_rubrique_origine_ttes_langues(ARTICLES){id_secteur=#CONFIG{mediaspip/rubriques/medias}}{id_article ?IN #ENV{articles,#GET{articles}}}{statut IN #ENV{statuts,publie}}{branche}{branche_complete}{mesfavoris #ENV{mesfavoris,ignore}}>
82        [(#ENV{lang_forcee}|non)#SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}}]
83        </BOUCLE_articles_rubrique_origine_ttes_langues>
84<//B_si_toutes_langues>
85
86[(#ENV{articles,#GET{articles}}|is_array|oui)
87        #SET{articles_rubriques,#ENV{articles,#GET{articles}}|array_intersect{#GET{articles_rubriques}}
88]
89<BOUCLE_medias_test(ARTICLES){id_article IN #GET{articles_rubriques}}{notation}{mesfavoris #ENV{mesfavoris,ignore}}{agenda #GET{type_date}, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{id_auteur ?}{id_mot ?}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{em_type ?}{recherche ?}{tri #GET{tri_medias},#GET{tri_medias}|in_array{#GET{critere_inverse}}|?{-1,1}}{0,#GET{limite}}{doublons medias}{tout} />
90<B_medias>
91<div class="liste articles sommaire medias clearfix" id="#ENV{id_bloc,liste_medias}">
92        <h2 class="h2"[ id="(#ANCRE_PAGINATION|extraire_attribut{id})"]>[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
93        <div class="formulaires_tris">[(#GRAND_TOTAL|>{1}|oui)
94                <div class="ajax">#FORMULAIRE_MS_TRI{#GET{tri_medias},liste_medias,##ENV{id_bloc,liste_medias}}</div>][(#GRAND_TOTAL|>={#GET{limite_pagination}}|oui)
95                <div class="ajax">[(#FORMULAIRE_MS_PAGINATION{#GRAND_TOTAL,liste_medias,select,#GET{limite_pagination_min},0,#GET{limite_pagination_max},##ENV{id_bloc,liste_medias}})]</div>]
96                <div class="ajax">[(#FORMULAIRE_MS_VUE{#GET{vue},liste_medias,##ENV{id_bloc,liste_medias}})]</div>
97        </div>
98        #INCLURE{fond=inclure/filtres_actifs,env,ajax}
99        <div id="medias" class="liste_medias_vignettes">
100                <ul class="liste-items hfeed liste_vignettes">
101                        <BOUCLE_medias(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda #GET{type_date}, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{notation}{mesfavoris #ENV{mesfavoris,ignore}}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{id_auteur ?}{id_mot ?}{em_type ?}{recherche ?}{tri #GET{tri_medias},#GET{tri_medias}|in_array{#GET{critere_inverse}}|?{-1,1}}{!doublons medias}{pagination #ENV{pagination_#ENV{id_bloc,liste_medias},#GET{limite_pagination}} #ENV{id_bloc,liste_medias}}{tout}>
102                        #INCLURE{fond=inclure/article-media_vignette,id_article,compte=#COMPTEUR_BOUCLE,class=vignette,vue=#GET{vue},afficher_langue=#GET{afficher_langue,non},couper}
103                        </BOUCLE_medias>
104                </ul>
105                [<div class="pagination">(#PAGINATION{#ENV{type_pagination,page}})</div>]
106        </div>
107</div>
108</B_medias>
109[(#ENV{message_null}|=={oui}|non)
110<div class="liste articles sommaire medias clearfix" id="#ENV{id_bloc,liste_medias}">
111        <h2 class="h2">[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
112        [(#ENV{id_auteur}|ou{#ENV{id_mot}}|ou{#ENV{recherche}}|ou{#ENV{em_type}}|ou{#ENV{mots}}|ou{#ENV{id_licence}}|ou{#ENV{id_licence}|=={0}}|ou{#ENV{date_debut}}|ou{#ENV{date_fin}}|?{
113                #INCLURE{fond=inclure/filtres_actifs,env,ajax}
114                <p><:mediaspip_core:message_aucun_media_critere_categorie:></p>,
115                <p><:mediaspip_core:message_aucun_media_publie_categorie:></p>})]
116</div>]
117<//B_medias>
118</BOUCLE_rubrique>
119</B_rubrique>
120
121[(#REM)
122        Pas de rubriques en paramètre
123        On affiche tous les médias :
124        -* pas de critères {branche} ni {branche_complete}
125]
126
127#SET{articles_rubriques,#ARRAY}
128<BOUCLE_si_toutes_langues_tout(CONDITION){si #ENV{toutes_langues}|=={oui}|non}>
129        <BOUCLE_articles_origine(ARTICLES){id_secteur=#CONFIG{mediaspip/rubriques/medias}}{statut IN #ENV{statuts,publie}}{mesfavoris #ENV{mesfavoris,ignore}}{origine_traduction}{doublons origine}>
130        <BOUCLE_articles_langue_en_cours(ARTICLES){traduction}{statut IN #ENV{statuts,publie}}{lang = #ENV{lang_forcee,#ENV{lang}}}{doublons origine}>
131        #SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}}
132        </BOUCLE_articles_langue_en_cours>
133        [(#ENV{lang_forcee}|et{[(#LANG|=={#ENV{lang_forcee}})]}|oui)#SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}} ]
134        [(#ENV{lang_forcee}|non)#SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}}]
135        <//B_articles_langue_en_cours>
136        </BOUCLE_articles_origine>
137</BOUCLE_si_toutes_langues_tout>
138        <BOUCLE_articles_origine_ttes_langues(ARTICLES){id_secteur=#CONFIG{mediaspip/rubriques/medias}}{statut IN #ENV{statuts,publie}}{mesfavoris #ENV{mesfavoris,ignore}}>
139        [(#ENV{lang_forcee}|et{[(#LANG|=={#ENV{lang_forcee}})]}|oui)#SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}}]
140        [(#ENV{lang_forcee}|non)#SET{articles_rubriques,#GET{articles_rubriques}|push{#ID_ARTICLE}}]
141        </BOUCLE_articles_origine_ttes_langues>
142<//B_si_toutes_langues_tout>
143[(#ENV{articles,#GET{articles}}|is_array|oui)
144        [(#SET{articles_rubriques,[(#ENV{articles,#GET{articles}}|array_intersect{[(#GET{articles_rubriques})]})]})]]
145<BOUCLE_medias_test_tous(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda #GET{type_date}, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{notation}{id_auteur ?}{id_mot ?}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{em_type ?}{recherche ?}{statut IN #ENV{statuts,publie}}{tri #GET{tri_medias_tous},#GET{tri_medias_tous}|in_array{#GET{critere_inverse}}|?{-1,1}}{0,#GET{limite}}{doublons medias_tous}{tout} />
146<B_medias_tous>
147<div class="liste articles sommaire medias clearfix" id="#ENV{id_bloc,liste_medias}">
148        <h2 class="h2"[ id="(#ANCRE_PAGINATION|extraire_attribut{id})"]>[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
149        <div class="formulaires_tris">[(#GRAND_TOTAL|>{1}|oui)
150                <div class="ajax">[(#FORMULAIRE_MS_TRI{#GET{tri_medias_tous},#ENV{id_bloc,liste_medias},[#(#ENV{id_bloc,liste_medias})]})]</div>][(#GRAND_TOTAL|>={#GET{limite_pagination}}|oui)
151                <div class="ajax">[(#FORMULAIRE_MS_PAGINATION{#GRAND_TOTAL,liste_medias,select,#GET{limite_pagination_min},0,#GET{limite_pagination_max},##ENV{id_bloc,liste_medias}})]</div>]
152                <div class="ajax">[(#FORMULAIRE_MS_VUE{#GET{vue},liste_medias,##ENV{id_bloc,liste_medias}})]</div>
153        </div>
154        #INCLURE{fond=inclure/filtres_actifs,env,ajax}
155        <div id="medias_#ENV{id_bloc}" class="liste_medias_vignettes liste_vignettes">
156                <ul class="liste-items hfeed">
157                        <BOUCLE_medias_tous(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda #GET{type_date}, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{mesfavoris #ENV{mesfavoris,ignore}}{notation}{mots ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{id_auteur ?}{id_mot ?}{em_type ?}{recherche ?}{statut IN #ENV{statuts,publie}}{tri #GET{tri_medias_tous},#GET{tri_medias_tous}|in_array{#GET{critere_inverse}}|?{-1,1}}{!doublons medias_tous}{pagination #ENV{pagination_#ENV{id_bloc,liste_medias},#GET{limite_pagination}} #ENV{id_bloc,liste_medias}}{tout}>
158                        #INCLURE{fond=inclure/article-media_vignette,id_article,compte=#COMPTEUR_BOUCLE,class=vignette,vue=#GET{vue},afficher_langue=#GET{afficher_langue,non},couper}
159                        </BOUCLE_medias_tous>
160                </ul>
161                [<div class="pagination">(#PAGINATION{#ENV{type_pagination,page}})</div>]
162        </div>
163</div>
164</B_medias_tous>
165[(#ENV{message_null}|=={oui}|non)
166<div class="liste articles sommaire medias clearfix" id="#ENV{id_bloc,liste_medias}">
167        <h2 class="h2">[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
168        [(#ENV{id_auteur}|ou{#ENV{id_mot}}|ou{#ENV{recherche}}|ou{#ENV{em_type}}|ou{#ENV{mots}}|ou{#ENV{id_licence}}|ou{#ENV{id_licence}|=={0}}|ou{#ENV{date_debut}}|ou{#ENV{date_fin}}|?{
169                #INCLURE{fond=inclure/filtres_actifs,env,ajax}
170                <p><:mediaspip_core:message_aucun_media_critere:></p>,
171                <p><:mediaspip_core:message_aucun_media_publie:></p>})]
172</div>]
173<//B_medias_tous>
174<//B_rubrique>
175#FILTRE{trim}
Note: See TracBrowser for help on using the repository browser.