Ну вот, смотрите. Вы же скрипт хотите к некоему движку прикрутить? Скорее всего Joomla или WP. У него есть своя база данных и API общения с ней. Т.е. в идеале нужен плагин под этот движок, который понимает что есть статья и как к ней прикрепить рейтинг. Его уже и нужно будет допилить под микроразметку (я именно так делал). Тут сразу скажу - когда я сделал звезды для своего сайта, они были в гугле где-то месяц, после чего он поменял расширенный снипет на обычный и все! Разметка верная, проверку проходит, определяется в вебмастере, но не отображается.
Если же желания не убавилось, то должно быть примерно так:
1) PHP скрипт - плагин должен выводить нечто вроде (это должно попасть в HTML, а не динамически рисоваться в JS):
Код |
---|
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<meta itemprop="bestRating" content="5" />
<meta itemprop="ratingValue" content="4.29" />
<meta itemprop="ratingCount" content="9971" />
<ul class="extravote-stars">";
<li id="rating_".$id."_".$xid."" class="current-rating" style="width:".(int)$percent."%;"></li>";
<li><div onclick="javascript:JVote(".$id.",1,".$rating_sum.",".$rating_count.",'".$xid."',".$counter.");" class="ev-one-star"></div></li>";
<li><div onclick="javascript:JVote(".$id.",2,".$rating_sum.",".$rating_count.",'".$xid."',".$counter.");" class="ev-two-stars"></div></li>";
<li><div onclick="javascript:JVote(".$id.",3,".$rating_sum.",".$rating_count.",'".$xid."',".$counter.");" class="ev-three-stars"></div></li>";
<li><div onclick="javascript:JVote(".$id.",4,".$rating_sum.",".$rating_count.",'".$xid."',".$counter.");" class="ev-four-stars"></div></li>";
<li><div onclick="javascript:JVote(".$id.",5,".$rating_sum.",".$rating_count.",'".$xid."',".$counter.");" class="ev-five-stars"></div></li>";
</ul>
</div> |
2) JS скрипт с функцией JVote, которая посылает AJAX запрос к php файлу (в Вашем примере есть)
3) Скрипт обновляющий БД - опять же есть в Вашем примере (обратите внимание что таблица с результатами уже должна существовать).
Самое сложное, чего в том примере нет - как таблица голосования должна быть связана с ID или URL соответствующей статьи. Т.е. самое простое - найти существующий плагин для своей CMS и допилить его.