source: spip-zone/_plugins_/statistiques_objets/trunk/prive/squelettes/inclure/stats-visites-populaires.html @ 95887

Last change on this file since 95887 was 95887, checked in by tcharlss@…, 5 years ago

Début de l'adaptation de la page des statistiques dans l'espace privé (exec=stats_visites), onglet "statistiques".
On surcharge le squelette qui liste les articles pour prendre en compte tous les objets (les plus populaires, derniers visités etc). Ajout d'un menu sous forme d'onglets pour choisir les objets avant la liste.
Les boucles des articles sont émulées avec une boucle DATA censée marcher avec tous les objets, et fonctionnellement identique. Enfin en théorie, à tester. Pour l'instant, les boucles ne testent pas le statut de l'objet, à ajouter ?
Attention, les graphiques ne sont pas encore adaptés, donc pour l'instant quand on clique sur un article pour avoir le détail, les graphiques ne sont pas mis à jour sur l'article sélectionné car les liens renvoient id_objet=N au lieu de id_article=N.
+Z

File size: 4.4 KB
Line 
1[(#REM)
2
3        Surcharge : prise en compte des différents objets éditoriaux
4
5        Notes :
6        Certaines balises ne pouvant être utilisées dans une boucle DATA, on les émule :
7        - \#POPULARITE_ABSOLUE : on applique ceil à la popularite
8        - \#EXPOSE : avec une balise conditionnelle
9
10        Le squelette appelant ne transmet pas l'env, donc on récupère les variables nécessaires avec _request
11
12        Inclus dans :
13        - prive/squelettes/contenu/stats_visites.html
14
15]
16
17[(#REM) onglet des objets ]
18#SET{objets,#ARRAY}
19<BOUCLE_menu_articles(visites_articles){0,1}>#SET{objets,#GET{objets}|push{article}}</BOUCLE_menu_articles>
20<BOUCLE_menu_objets(visites_objets){fusion objet}>#SET{objets,#GET{objets}|push{#OBJET}}</BOUCLE_menu_objets>
21#SET{objet,#VAL{objet}|_request|sinon{#VAL{id_article}|_request|?{article}}|sinon{#GET{objets/0}}}
22#SET{id_objet,#VAL{id_objet}|_request}
23#SET{id_table_objet, #GET{objet}|id_table_objet}
24#SET{table_objet_sql,#GET{objet}|table_objet_sql}
25#SET{champ_titre,#GET{objet}|objet_info{titre}}
26
27<div class="onglets_simple clearfix">
28        <ul>
29                <BOUCLE_menu(DATA){source table, #GET{objets}}>
30                <li>[(#SELF|parametre_url{objet,#VALEUR}|parametre_url{id_article|id_objet,''}|lien_ou_expose{[(#VALEUR|objet_icone{16}) ][(#VALEUR|objet_info{texte_objets}|_T)],#VALEUR|=={#GET{objet}},ajax})]</li>
31                </BOUCLE_menu>
32        </ul>
33</div>
34
35#BOITE_OUVRIR{'','note'}
36<div class="stats-articles">
37
38        <div class="unit size1of2">
39
40                [(#REM) les plus populaires ]
41                #SET{c,#GET{objet}|classement_populaires}
42                [(#SET{req_pluspop,SELECT [(#GET{id_table_objet}),visites,popularite][,(#GET{champ_titre})] FROM [(#GET{table_objet_sql})] WHERE [(#GET{id_table_objet})] IN \([(#GET{c}|join{','})]\)})]
43                #SET{ids_pluspop,#ARRAY}
44                <p><:statistiques:info_visites_objets_plus_populaires:></p>
45                <B_pluspop>
46                <ol class="classement">
47                        <BOUCLE_pluspop(DATA){source sql, #GET{req_pluspop}}>
48                                #SET{ids_pluspop,#GET{ids_pluspop}|push{#VALEUR{#GET{id_table_objet}}}}
49                                #SET{popularite,#VALEUR{popularite}|ceil}
50                                <li[ (#GET{id_objet}|=={#VALEUR{#GET{id_table_objet}}}|?{class="on"})]>
51                                        <a
52                                                href="[(#SELF|parametre_url{id_objet,#VALEUR{#GET{id_table_objet}}})]#contenu" class="ajax"
53                                                title="<:statistiques:info_popularite_3{visites=#VALEUR{visites},popularite=#GET{popularite}}|attribut_html:>">
54                                                #VALEUR{titre}
55                                        </a>
56                                </li>
57                        </BOUCLE_pluspop>
58                </ol>
59
60                [(#REM) les 10 derniers visités ]
61                [(#SET{req_derniers,SELECT [(#GET{id_table_objet}),date,visites,popularite][,(#GET{champ_titre})] FROM [(#GET{table_objet_sql})] WHERE popularite>0 AND [(#GET{id_table_objet})] NOT IN \([(#GET{ids_pluspop}|join{','})]\) RDER BY date DESC LIMIT [(#VAL{'0,10'})]})]
62                <B_derniers>
63                        <p class="center">[...]</p>
64                        <p><:statistiques:info_visites_objets_derniers:></p>
65                        <ol class='classement'>
66                                <BOUCLE_derniers(DATA){source sql, #GET{req_derniers}}>
67                                #SET{popularite,#VALEUR{popularite}|ceil}
68                                <li[ (#GET{id_objet}|=={#VALEUR{#GET{id_table_objet}}}|?{class="on"})]>
69                                        <a
70                                                href="[(#SELF|parametre_url{id_objet,#VALEUR{#GET{id_table_objet}}})]#contenu" class="ajax"
71                                                title="<:statistiques:info_popularite_3{visites=#VALEUR{visites},popularite=#GET{popularite}}|attribut_html:>">
72                                                #VALEUR{titre}
73                                        </a>
74                                </li>
75                        </BOUCLE_derniers>
76                        </ol>
77                </B_derniers>
78                </B_pluspop>
79        </div>
80
81        [(#REM) les 30 plus visités depuis le début ]
82        <div class="unit lastUnit">
83                <p><:statistiques:info_afficher_visites_objets_plus_visites:></p>
84                #SET{c,#GET{objet}|classement_populaires}
85                [(#SET{req_plusvisites,SELECT [(#GET{id_table_objet}),visites,popularite][,(#GET{champ_titre})] FROM [(#GET{table_objet_sql})] WHERE popularite>0 AND [(#GET{id_table_objet})] IN \([(#GET{c}|join{','})]\) ORDER BY visites DESC LIMIT [(#VAL{'0,30'})]})]
86                <ol class='classement'>
87                        <BOUCLE_plusvisites(DATA){source sql, #GET{req_plusvisites}}>
88                        #SET{popularite,#VALEUR{popularite}|ceil}
89                                <li value="[(#VALEUR{#GET{id_table_objet}}|array_search{#GET{c}}|plus{1})]"[ (#GET{id_objet}|=={#VALEUR{#GET{id_table_objet}}}|?{class="on"})]><a href="[(#SELF|parametre_url{id_objet,#VALEUR{#GET{id_table_objet}}})]#contenu" class="ajax"
90                                                        title="<:statistiques:info_popularite_3{visites=#VALEUR{visites},popularite=#GET{popularite}}|attribut_html:>">#TITRE</a></li>
91                        </BOUCLE_plusvisites>
92                </ol>
93
94                <br class="nettoyeur" />
95                <hr />
96                <h4><:statistiques:info_comment_lire_tableau:></h4>
97                <p><:statistiques:texte_comment_lire_tableau:></p>
98        </div>
99       
100</div>
101#BOITE_FERMER
Note: See TracBrowser for help on using the repository browser.