Changeset 81258 in spip-zone


Ignore:
Timestamp:
Mar 7, 2014, 4:20:46 PM (5 years ago)
Author:
gouz@…
Message:

Ajout des microdata via http://schema.org/AggregateRating et les propriétés ratingCount et ratingValue

Location:
_plugins_/notation/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/notation/trunk/formulaires/jaime.html

    r71651 r81258  
    44#SET{total,#NOMBRE_VOTES}
    55</BOUCLE_note>
    6 <div class="formulaire_notation formulaire_#FORM ajax">
     6<div class="formulaire_notation formulaire_#FORM ajax"[(#HTML5|oui) itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"]>
    77        [(#NOTATION_ETOILE{[(#GET{note_ponderee})],[(#ENV*{_objet})][(#ENV*{_id_objet})]})]
    8         [<span class="[(#PLUGIN{bootstrap}|?{badge,note})]">(#GET{total}) [(#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>]
     8        [<span class="[(#PLUGIN{bootstrap}|?{badge,note})]">[(#HTML5|oui)<span itemprop="ratingCount">](#GET{total})[(#HTML5|oui)</span>] [(#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>]
    99        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    1010        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    1111        [(#ENV**{editable}|oui)
    12         <form action="#SELF" method="post" id="#FORM[(#ENV*{_form_id})]">
     12        <form action="#SELF" method="post" id="#FORM[(#ENV*{_form_id})]" enctype="multipart/form-data">
    1313                #ACTION_FORMULAIRE{#SELF}
    1414                <div>
  • _plugins_/notation/trunk/formulaires/jaime_jaimepas.html

    r71651 r81258  
    55#SET{total,#NOMBRE_VOTES}
    66</BOUCLE_note>
    7 <div class="formulaire_notation formulaire_#FORM ajax">
     7<div class="formulaire_notation formulaire_#FORM ajax"[(#HTML5|oui) itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"]>
    88        [(#NOTATION_ETOILE{[(#GET{note_ponderee})],[(#ENV*{_objet})][(#ENV*{_id_objet})]})]
    9         [<span class="[(#PLUGIN{bootstrap}|?{badge,note})]">(#GET{total}) [(#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>]
     9        [<span class="[(#PLUGIN{bootstrap}|?{badge,note})]">[(#HTML5|oui)<span itemprop="ratingCount">](#GET{total})[(#HTML5|oui)</span>] [(#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>]
    1010        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    1111        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    1212        [(#ENV**{editable}|oui)
    13         <form action="#SELF" method="post" id="#FORM[(#ENV*{_form_id})]">
     13        <form action="#SELF" method="post" id="#FORM[(#ENV*{_form_id})]" enctype="multipart/form-data">
    1414                #ACTION_FORMULAIRE{#SELF}
    1515                <div>
  • _plugins_/notation/trunk/formulaires/notation.html

    r71651 r81258  
    55#SET{total,#NOMBRE_VOTES}
    66</BOUCLE_note>
    7 <div class="formulaire_notation ajax">
     7<div class="formulaire_notation ajax"[(#HTML5|oui) itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"]>
    88[(#ENV**{editable}|oui)
    9         <form action="#SELF" method="post" id="notation[(#ENV*{_form_id})]" style="display:inline; padding:0; spacing:0; border:0">
     9        <form action="#SELF" method="post" id="notation[(#ENV*{_form_id})]" enctype="multipart/form-data" style="display:inline; padding:0; spacing:0; border:0">
    1010                #ACTION_FORMULAIRE{#SELF}
    1111                <div style="display:inline">
     
    1818                        <input type="hidden" name="content" id="content[(#ENV*{_form_id})]" value="" />
    1919                        <input type="submit" class="access" value="Voter"/>
    20                         [<span class="[(#PLUGIN{bootstrap}|?{badge,note})]">(#GET{total}) [(#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>]
     20                        [<span class="[(#PLUGIN{bootstrap}|?{badge,note})]">[(#HTML5|oui)<span itemprop="ratingCount">](#GET{total})[(#HTML5|oui)</span>] [(#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>]
    2121                </div>
    2222        </form>
     
    2525[(#ENV**{editable}|non)
    2626        [(#NOTATION_ETOILE{[(#GET{note_ponderee})],[(#ENV*{_objet})][(#ENV*{_id_objet})]})]
    27         [<span class="[(#PLUGIN{bootstrap}|?{badge,note})]">(#GET{total}) [(#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>]
     27        [<span class="[(#PLUGIN{bootstrap}|?{badge,note})]">[(#HTML5|oui)<span itemprop="ratingCount">](#GET{total})[(#HTML5|oui)</span>] [(#GET{total}|>{1}|?{<:notation:votes:>,<:notation:vote:>})]</span>]
    2828]
    2929
  • _plugins_/notation/trunk/inc/notation_balises.php

    r72664 r81258  
    11<?php
    22/**
    3  * Plugin Notation
    4  * par JEM (jean-marc.viglino@ign.fr) / b_b / Matthieu Marcillaud
    5  *
    6  * Copyright (c) 2008
    7  * Logiciel libre distribue sous licence GNU/GPL.
    8  *
    9  */
     3* Plugin Notation
     4* par JEM (jean-marc.viglino@ign.fr) / b_b / Matthieu Marcillaud
     5*
     6* Copyright (c) 2008
     7* Logiciel libre distribue sous licence GNU/GPL.
     8
     9**/
    1010if (!defined("_ECRIRE_INC_VERSION")) return;
    1111
    1212define('_NOTATION_AFFICHAGE_RAPIDE',1);
    1313
    14 function notation_en_etoile($nb, $id, $clicable=false,$microdatas=false){
     14function notation_en_etoile($nb, $id, $clicable=false){
    1515        include_spip('inc/notation');
    1616        $ret = '';
    1717        if ($nb>0 && $nb<=0.5) $nb=1;
     18        $nb = round($nb);
     19
    1820        $needjs = "";
    19         $max_note = notation_get_nb_notes();
    20         $nb = round($nb);
    21         if($microdatas){
    22                 $ret .= '<meta itemprop="ratingCount" class="best" content="'.$max_note.'" />';
    23                 $ret .= '<meta itemprop="worstRating" class="worst" content="0" />';
    24                 $ret .= '<meta itemprop="ratingValue" content="'.$nb.'" />';
    25         }
     21
    2622        if ($clicable OR !_NOTATION_AFFICHAGE_RAPIDE){
    2723                $needjs = " notation_note_on_load";
     
    3228                        $ret .= "<input name='notation-$id' type='radio' class='$class rating-cancel' value='-1'$checked$disabled />\n";
    3329                }
    34                 for ($i=1; $i<=$max_note; $i++){
     30                for ($i=1; $i<=notation_get_nb_notes(); $i++){
     31                        $microdata_insert = ($GLOBALS['meta']['version_html_max'] == 'html5' && $i == $nb) ? " itemprop='ratingValue'" : "";           
    3532                        $checked = ($i==$nb) ? " checked='checked'" : "";
    36                         $ret .= "<input name='notation-$id' type='radio' class='$class' value='$i'$checked$disabled />\n";
     33                        $ret .= "<input name='notation-$id' type='radio' class='$class' value='$i'$checked$disabled $microdata_insert/>\n";
    3734                }
    3835        }
     
    4037        // eviter de generer X boutons radio inactifs remplaces par le javascript au chargement
    4138        {
    42                 for ($i=1; $i<=$max_note; $i++){
     39                for ($i=1; $i<=notation_get_nb_notes(); $i++){
     40               
     41                        $microdata_insert = ($GLOBALS['meta']['version_html_max'] == 'html5' && $i == $nb) ? " itemprop='ratingValue'" : "";
    4342                        $checked = ($i<=$nb) ? " star-rating-on" : "";
    44                         $ret .= "<div class='star-rating ratingstar_group_notation-$id star-rating-readonly$checked'><a>$nb</a></div>";
    45                 }
    46         }
    47         return "<div class='notation_note$needjs' ".($microdatas ? 'itemprop="aggregateRating" itemscope itemtype="http://schema.org/aggregateRating"':'').">$ret</div>";
     43                        $ret .= "<div class='star-rating star_group_notation-$id star-rating-readonly$checked'$microdata_insert><a title='$nb'>$nb</a></div>";
     44                }
     45        }
     46        return "<div class='notation_note$needjs'>$ret</div>";
    4847}
    4948
     
    5857 * Un identifiant est calcule automatiquement, mais peut etre force
    5958 * #NOTATION_ETOILE{#NOTE,article#ID_ARTICLE}
    60  *
    61  * Si vous souhaitez que la balise retourne les microdatas Aggregaterating
    62  * (http://schema.org/aggregateRating), il faut mettre un troisième argument, par exemple :
    63  * #NOTATION_ETOILE{#NOTATION_MOYENNE,'',oui}
    6459 */
    6560function balise_NOTATION_ETOILE($p){
     
    6863                $id = notation_calculer_id($p);
    6964        }
    70         $microdatas = false;
    71         if($microdatas = interprete_argument_balise(3,$p)){
    72                 $p->code = "notation_en_etoile($nb,$id,false,true)";
    73         }else{
    74                 $p->code = "notation_en_etoile($nb,$id)";
    75         }
     65
     66        $p->code = "notation_en_etoile($nb,$id)";
    7667        $p->interdire_scripts = false;
    7768        return $p;
Note: See TracChangeset for help on using the changeset viewer.