Modifications pour le document RatingWidget
Modifié par Pascale STEIMETZ-LE CACHEUX le 2026/03/25 13:12
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Contenu
-
... ... @@ -1,0 +1,86 @@ 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 +{{html clean="false"}} 35 +<style> 36 +.flora-rating-wrap { 37 + margin-top: 16px; 38 + padding-top: 10px; 39 + border-top: 1px solid #D9DFEE; 40 + display: flex; 41 + align-items: center; 42 + gap: 14px; 43 + flex-wrap: wrap; 44 + font-size: 14px; 45 +} 46 +.flora-rating-label { 47 + font-weight: 600; 48 + color: #2A2B69; 49 +} 50 +.flora-stars { 51 + display: inline-flex; 52 + gap: 4px; 53 +} 54 +.flora-stars button { 55 + background: none; 56 + border: none; 57 + font-size: 22px; 58 + cursor: pointer; 59 + color: #d4af37; 60 + padding: 0; 61 + margin: 0; 62 +} 63 +.flora-stars button:hover, 64 +.flora-stars button.hovered { 65 + color: #f2c94c; 66 +} 67 +.flora-rating-result { 68 + color: #2F2F2F; 69 +} 70 +</style> 71 + 72 +<div class="flora-rating-wrap" data-doc="$escapetool.xml($currentDoc)"> 73 + <span class="flora-rating-label">Noter cette page</span> 74 + 75 + <div class="flora-stars"> 76 + <button class="flora-star" data-note="1" type="button">★</button> 77 + <button class="flora-star" data-note="2" type="button">★</button> 78 + <button class="flora-star" data-note="3" type="button">★</button> 79 + <button class="flora-star" data-note="4" type="button">★</button> 80 + <button class="flora-star" data-note="5" type="button">★</button> 81 + </div> 82 + 83 + <span class="flora-rating-result">$stars ($count votes)</span> 84 +</div> 85 +{{/html}} 86 +{{/velocity}}