js Hенавязчивый звездный рейтинг на AJAX 

Дата публикации  Дата изменения25.01.15  Комментарии34   Просмотры22714

Курсы

Скрипт плагина построен на PHP и MySQL, обеспечивающих рейтинговую оценку посетителями материалов, подобную Netflix или Amazon, в соответствии с web 2.0 – без обновления страницы.

Ненавязчивость подразумевает, что если даже JavaScript выключен, то скрипт все равно сохранит работоспособность, хотя и с перезагрузкой страницы.

Есть возможность установить количество звезд по вашему желанию (т.е. 4, 5, или 10) – смотрите документацию.

Скрипт универсален и его можно адаптировать без больших затруднений по надобности.

Установка:

=========================================================================
1. Создайте таблицу для рейтинга в вашей базе данных
=========================================================================

CREATE TABLE 'ratings' (
 'id' varchar(11) NOT NULL,
 'total_votes' int(11) NOT NULL default 0,
 'total_value' int(11) NOT NULL default 0,
 'used_ips' longtext,
 PRIMARY KEY  ('id')
) TYPE=MyISAM AUTO_INCREMENT=3;

=========================================================================
2. Укажите соответствующую информацию в файле подключения к db _config-rating.php
=========================================================================

	$dbhost        = 'localhost';
	$dbuser        = '###';
	$dbpass        = '###';
	$dbname        = '###';
	$tableName     = 'ratings';
	$rating_unitwidth     = 30;

=========================================================================
3. Вставьте вверху (начале) каждой страницы, где нужна рейтинговая строка.
=========================================================================
<?php require('_drawrating.php'); ?>

=========================================================================
4. Пропишите правильные пути к Javascript и CSS файлам ( behavior.js, rating.js, and rating.css)
=========================================================================

<script type="text/javascript" language="javascript" src="js/behavior.js"></script>
<script type="text/javascript" language="javascript" src="js/rating.js"></script>
<link rel="stylesheet" type="text/css" href="css/rating.css" />

Не забудьте указать также пути для изображений. Файл behavior.js находится отдельно от rating.js, поскольку может использоваться не только в этом плагине.

=========================================================================
5. Вставьте вызов плагина в нужное для появления рейтинга место
=========================================================================
Замечание: как и в версии 1.2.1, используйте echo! Если используете статичный параметр, то всегда определяейте второй параметр (число звездочек), даже если он пуст (по умолчанию 10)

<?php echo rating_bar('8'); ?> – 10 звезд (default), ID of 8
<?php echo rating_bar('8xxa','5'); ?> – 5 звезд, ID of 8xxa
<?php echo rating_bar('9a','5','static'); ?> – 5 звезд, ID of 9a, статичных (не голосующих)
<?php echo rating_bar('9b',''); ?> – 10 stars, ID of 9b
<?php echo rating_bar('9c','8','static'); ?> – 8 звезд, ID of 9c, статичных (не голосующих)

Для изменения отображения строки рейтинга отредактируйте _drawrating.php file. Также может понадобится конец файла rpc.php, строка примерно 52, где находится переменная $newback.

Unobtrusive AJAX Star Rating Bar

  Размер:  19,85kB | Изменен: 24.01.13 | Загрузок: 1559
Бесплатные курсы

Категории,

Теги: , , , ,

Оцените материал:

Рейтинг: 7.4/10 (451)


КомментарииКомментарии:

    coder hol es

     

    Если действительно все правильно, то, возможно, версия используемого на вашем хосте/локале php (или конфигурация) или формат базы не поддерживается – не mysql, а innoDB, например, или моменты с запросом. Гадание, в общем – попробуйте еще раз проверить и поэкспериментировать. Скрипт достаточно старый – поэтому, версия с php представляется более вероятной. Ну, и как указано в приведенном вами – посмотрите еще раз файл readme на соответствие сделанному и добавьте инфо в правильном формате в файл _config_rating.php. Большее подсказать сложно.

    Сергей

     

    Здравствуйте. Очень хороший рейтинг и доходчиво расписано. Но, есть задачка. Как вывести не всю рейтинговую строку, а только её часть, например нужно вывести числовое значение рейтинга. Например Rating: 5.1, как вывести только число "5.1". ?

    coder hol es

     

    Здравствуйте! Посмотрите файл _drawrating.php, строка 88
    $rater.='>'.$id.' Rating: <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' cast)';, и отредактируйте, как нужно.

    Сергей

     

    Нужно что бы звездный рейтинг был в одном месте, а числовое значение еще выводить рейтинга в другом месте.

    coder hol es

     

    Нужно переделать функцию rating_bar($id,$units='',$static='') в _drawrating.php на возврат массива требуемых значений – как один из вариантов.
    Далее решение строится, исходя из специфики — если на одной странице, то выводите значение нужных переменных (с нужной инфо) в требуемых местах.
    Если на другой странице, то открываете сессию (если она не начата), и присваиваете каким-либо уникальным сессионным переменным соответствующие значения переменных скрипта, передаете через сессию значение на нужную страницу и выводите.


 

Старые →← Новые