Code source wiki de RatingWidget

Version 5.1 par Pascale STEIMETZ-LE CACHEUX le 2026/03/24 12:54

Afficher les derniers auteurs
1 {{velocity}}
2 #set($currentDoc = $doc.fullName)
3
4 #set($storeDoc = $xwiki.getDocument("Flora.RatingStore3"))
5 #set($objects = $storeDoc.getObjects("Flora.RatingVoteClass3"))
6
7 #set($total = 0)
8 #set($count = 0)
9
10 #foreach($obj in $objects)
11 #if($obj && $obj.getValue("document") == $currentDoc)
12 #set($note = $obj.getValue("note"))
13 #if($note)
14 #set($total = $total + $note)
15 #set($count = $count + 1)
16 #end
17 #end
18 #end
19
20 #if($count > 0)
21 #set($avg = $total / $count)
22 #else
23 #set($avg = 0)
24 #end
25
26 #set($stars = "")
27 #foreach($i in [1..5])
28 #if($i <= $avg.round())
29 #set($stars = "$stars★")
30 #else
31 #set($stars = "$stars☆")
32 #end
33 #end
34 {{/velocity}}
35
36 {{html clean="false"}}
37 <style>
38 .flora-rating-wrap {
39 margin-top: 16px;
40 padding-top: 10px;
41 border-top: 1px solid #D9DFEE;
42 display: flex;
43 align-items: center;
44 gap: 14px;
45 flex-wrap: wrap;
46 }
47 .flora-rating-label {
48 font-weight: 600;
49 color: #2A2B69;
50 }
51 .flora-stars button {
52 background: none;
53 border: none;
54 font-size: 22px;
55 cursor: pointer;
56 color: #d4af37;
57 }
58 .flora-stars button:hover {
59 color: #f2c94c;
60 }
61 </style>
62
63 <div class="flora-rating-wrap" data-doc="$doc.fullName">
64
65 <span class="flora-rating-label">Noter cette page</span>
66
67 <div class="flora-stars">
68 <button class="flora-star" data-note="1">★</button>
69 <button class="flora-star" data-note="2">★</button>
70 <button class="flora-star" data-note="3">★</button>
71 <button class="flora-star" data-note="4">★</button>
72 <button class="flora-star" data-note="5">★</button>
73 </div>
74
75 <span>
76 {{velocity}}$stars ($count votes){{/velocity}}
77 </span>
78
79 </div>
80 {{/html}}