- Главная
- Документация
- AnythingRating
- 18337
- Август 2014
AnythingRating - сниппет, позволяющий организовать на своем сайте голосование за любую группу ресурсов: статью, фотографию, комментарий и т.д. Легко устанавливается и настраивается. Использует режим AJAX, работает при отключенном JavaScript, есть возможность запретить повторное голосование или проводить голосование только среди зарегистрированных пользователей. Есть возможность подключать собственный языковые файлы.
- Использует AJAX
- Работает с отключенным JavaScript
- Вы можете использовать неограниченное количество групп рейтингов
- Любое количество пунктов для голосования
- Проверка не только на IP, но также включает в себя проверку Cookie
- Точность результатов голосования до одной сотой
- Предварительная загрузка изображений
- Мультиязычность с возможностью добавлять собственные языковые пакеты
- Протестирован в IE 6, IE 7, Firefox 2.x, Opera и Safari
- Группы рейтинга - Определите группу рейтинга только один раз на странице:
- Выберите количество "звезд" (или любое другое изображение)
- Определите дату окончания конкурса
- Определите в шаблоне информацию об оценках: звезды 3.25/5 65 % (205 голосов)
- Настройте или измените изображение "звезд" с помощью стилей css
- Укажите точное число IP-адресов
- Разрешите или запретите мультиголосование
- Голосование только для зарегистрированных пользователей
- Используйте уникальный идентификатор:
- Объедините элементы в группы
- Установите "novote", чтобы запретить пользователям голосовать за этот пункт
- Калибруйте первую оценку
- Покажите самые популярные пункты рейтинга:
- Выберите количество отображаемых пунктов
- Отобразите лучшие или худшие пункты
- Определите информацию в таблице рейтинга (название, описание, изображение, ссылка)
- Покажите несколько различных рейтингов
1. Скачайте последнюю версию AnythingRating
2. Создайте директорию anythingRating в папке assets/snippets и скопируйте туда файлы файлы из скаченного архива
3. Создайте новый сниппет AnythingRating и поместите в код сниппета содержимое файла assets/snippets/anythingRating/snippet.anythingRating.php
Значение по умолчанию: 0
Примечание:
Пример:
&define=`1`
Значение по умолчанию: 0
Примечание:
Пример:
&getTopRated=`1`
Значение по умолчанию: нет
Примечание: Языковые пакеты реализованы не полностью, вы можете добавить собственный языковой файл.
Пример:
&language=`russian-utf8`
Значение по умолчанию: 5
Примечание: AnythingRating.css должен соответствовать этому количеству
Пример:
&nbStars=`3`
Значение по умолчанию: all
Примечание:
Пример:
&nbIP=`50`
Значение по умолчанию: неограничено
Примечание:
Пример:
&endDate=`2012-12-12`
Значение по умолчанию: голосование доступно для всех
Примечание: Для голосования веб-пользователю необходимо авторизоваться
Пример:
&canVote=``
Значение по умолчанию: 0
Примечание: 0 - допускается только один голос
Пример:
&multiVote=`1`
Значение по умолчанию: assets/snippets/anythingRating/css/anythingRating.css
Примечание:
Пример:
&atrCss=``
Значение по умолчанию: @FILE:assets/snippets/anythingRating/templates/anythingRating.tpl.html
Примечание: @FILE:путь к файлу
Пример:
&atrTpl=``
Значение по умолчанию: 0
Примечание:
Пример:
&atrId=`ar1`
Значение по умолчанию: 0
Примечание:
Пример:
&noVotes=`1`
Значение по умолчанию: 0
Примечание: The content of the TV should contain a rating_value or "rating_value:nb_votes"
Пример:
&init=``
Значение по умолчанию: 5
Примечание:
Пример:
&topNb=`10`
Значение по умолчанию: best
Примечание:
Пример:
&topDir=`worst`
Значение по умолчанию: @FILE:assets/snippets/anythingRating/templates/topRated.tpl.html
Примечание: @FILE:путь
Пример:
&topTpl=``
Значение по умолчанию:
Примечание: Используются поля $_lang['atr_bestlabel'] или $_lang['atr_worstlabel'] из языкового файла
Пример:
&topLabel=``
Значение по умолчанию:
Примечание:
Пример:
&topTable=`site_content`
Значение по умолчанию: id
Примечание:
Пример:
&topIdField=``
Значение по умолчанию: title
Примечание:
Пример:
&topTitleField=``
Значение по умолчанию: нет
Примечание:
Пример:
&topDescrField=`description`
Значение по умолчанию: нет
Примечание:
Пример:
&topImageField=``
Значение по умолчанию: нет
Примечание:
Пример:
&topLinkField=`alias`
Список доступных плэсхолдеров, которые можно использовать в шаблонах.
anythingRatingTpl - Шаблон для виджета голосования.Шаблон по умолчанию находится в файле: assets/snippets/anythingRating/templates/anythingRating.tpl.html |
|
[+atr.scoreSection+] | Секция для оценки |
[+atr.intro+] | Отображение текущего результата голосования |
[+atr.rating+] | Текущая оценка |
[+atr.nbstars+] | Количество звезд |
[+atr.lbstars+] | Лейбл для звезд. Берется из языкового файла $_lang['atr_lbstars'] |
[+atr.nbvotes+] | Число голосов |
[+atr.lbvotes+] | Лейбл для голосов. Берется из языкового файла $_lang['atr_lbvotes'] |
[+atr.msgSection+] | Секция для сообщений |
topRatedTpl - Шаблон для вывода результатов голосования.Шаблон по умолчанию находится в файле: assets/snippets/anythingRating/templates/topRated.tpl.html |
|
[+atr.groupid+] | Имя группы рейтинга |
[+atr.baseurl+] | URL сайта |
[+atr.ratingid+] | Идентификатор предмета рейтинга |
[+atr.hdrank+] | Лейбл для ранга. Берется из языкового файла $_lang['atr_hdrank'] |
[+atr.hdscore+] | Лейбл для оценок. Берется из языкового файла $_lang['atr_hdscore'] |
[+atr.hdnbvotes+] | Лейбл для количества голосов. Берется из языкового файла $_lang['atr_hdnbvotes'] |
[+atr.hdtitle+] | Лейбл для названия предмета рейтинга. Берется из языкового файла $_lang['atr_hdtitle'] |
[+atr.hddescr+] | Лейбл для описания предмета рейтинга. Параметр topDescrField |
[+atr.hdimage+] | Лейбл для картинки предмета рейтинга. Параметр topImageField |
[+atr.hdlink+] | Лейбл для ссылки предмета рейтинга. Параметр topLinkField |
[+atr.rank+] | Ранг |
[+atr.rating+] | Текущая оценка |
[+atr.nbstars+] | Количество звезд |
[+atr.lbstars+] | Лейбл для звезд. Берется из языкового файла $_lang['atr_lbstars'] |
[+atr.nbvotes+] | Число голосов |
[+atr.lbvotes+] | Лейбл для голосов. Берется из языкового файла $_lang['atr_lbvotes'] |
[+atr.title+] | Заголовок |
[+atr.descr+] | Описание. Параметр topDescrField |
[+atr.image+] | Картинка. Параметр topImageField |
[+atr.link+] | Ссылка. Параметр topLinkField |
Использование
Добавьте первый вызов в начале страницы , для определения группы рейтинга:
[!AnythingRating? &define=`1` &atrGrp=`grpName`!]
где:
&define=`1`
- указываем, что данный вызов сниппета предназначен для определения группы рейтинга&atrGrp=`grpName`
- имя группы рейтинга. Любая комбинация символов AZ, подчеркивания и цифр 0-9
Возле предмета (изображения, статьи и т.д.), к которому добавляем голосование размещаем такой вызов сниппета:
[!AnythingRating? &atrGrp=`grpName` &atrId=`idItem`!]
где:
&atrGrp=`grpName`
- определяем, к какой группе относится наш рейтинг&atrId=`idItem`
- уникальный идентификатор предмета рейтинга. Может быть [*id*] или [+maxigallery.picture.id+] в чанке maxigallery или каким либо другим id.
Для вывода ТОП рейтинга используем следующий вызов сниппета:
[!AnythingRating? &getTopRated=`1` &atrGrp=`grpName` &topTable=`site_content` &topTitleField=`pagetitle`!]
где:
&getTopRated=`1`
- указываем, что данный вызов предназначен для вывода результатов голосования&atrGrp=`grpName`
- определяем группу по которой будем выводить результаты&topTable=`site_content`
- указываем имя таблицы, которая содержит данные предметов рейтинга. Имя таблицы указывается без префикса MODx&topTitleField=`pagetitle`
- поле, используемое в качестве названия предмета рейтинга
Вы можете настроить внешний вид результатов голосования с помощью CSS в файле css/anythingRating.css. Так же вы можете настроить форму для голосования в шаблоне templates/anythingRating.tpl.html или форму вывода результатов голосования в шаблоне templates/topRated.tpl.html. Смотрите возможные плэйсхолдеры для использования в шаблонах.
Определение рейтинга группы
Это простейший пример вызова определяет рейтинг группы 'photos':
[!AnythingRating? &define=`1` &atrGrp=`photos`!]
- хранение всех IP-адресов проголосовавших по каждому пункту
- виджет из 5 звезд (определено по умолчанию файлом CSS)
- дата проведения рейтинга неограничена
- язык установлен в качестве языка менеджера MODx
Этот вызов сниппета определяет рейтинг группы 'travelbook':
[!AnythingRating? &define=`1` &atrGrp=`travelbook` &language=`francais-utf8` &canVote=`travel` &nbIP=`200` &nbStars=`10` &endDate=`2014-06-30` &atrTpl=`@FILE:assets/snippets/anythingRating/templates/travelBookTpl.tpl.html` &atrCss=`@FILE:assets/snippets/anythingRating/css/travelBookCss.css`!]
&language=`francais-utf8`
- языковой пакет Francais-utf8&canVote=`travel`
- проголосовать могут только веб-пользователи из веб-группы "travel"&nbIP=`200`
- хранение до 200 IP-адресов проголосовавших по каждому пункту&nbStars=`10`
- виджет и 10 звезд (определяется CSS-файлом)&endDate=`2014-06-30`
- дата окончания конкурсаtravelBookTpl.tpl.html
- как файл шаблонаtravelBookCss.css
- как CSS-файл
Пункт голосования
[!AnythingRating? &atrGrp=`travelbook` &atrId=`[*id*]`!]
где:
&atrGrp=`travelbook`
- группа рейтинга&atrId=[*id*]
- уникальный идентификатор текущего документа
Этот пример вызова сниппета может использоваться, например в шаблоне для Ditto:
[[AnythingRating? &atrGrp=`travelbooks` &atrId=`[+id+]` &init=`opinion:[+id+]`]]
где:
&atrGrp=`travelbook`
- группа рейтинга&atrId=[+id+]
- уникальный идентификатор текущего документа&init=`opinion:[+id+]`
- начальное значение рейтинга из TV 'opinion' документа [+id+]
Этот сниппет вызывается в шаблоне изображения maxigallery:
[!AnythingRating? &atrGrp=`photos` &atrId=`[+maxigallery.picture.id+]`!]
где:
&atrGrp=`photos`
- группа рейтинга&atrId=[+maxigallery.picture.id+]
- уникальный идентификатор изображения, которое вы хотите оценить
[!AnythingRating? &atrGrp=`products` &atrId=`[*id*]` &noVotes=`1` &init=`opinion`!]
где:
&atrGrp=`products`
- группа рейтинга&atrId=[*id*]
- уникальный идентификатор текущего документа&noVotes=`1`
- голосование не разрешается, отображается только результат&init=`opinion`
- инициализация голосов от TV 'opinion'
Лучшие по рейтингу
Этот сниппет выведет рейтинг документов в конкурсе `travelbook`:
[[AnythingRating? &getTopRated=`1` &atrGrp=`travelbook` &topTable=`site_content` &topTitleField=`pagetitle` &topLabel=`travelbooks`]]
- отображение 5 лучших по рейтингу
- идентификатор, название и описание в рейтинге берется из таблицы "site_content"
- поле идентификатора используется как "ID" по умолчанию
- название блока с результатми рейтинга "travelbooks"
- имя поля для названия pagetitle из таблицы "site_content"
- поля с описанием, изображением и ссылкой по умолчанию не используются
- шаблон по умолчанию: assets/snippets/anythingRating/templates/topRated.tpl.html
Этот сниппет выведет рейтинг изображений в конкурсе `photos`:
[!AnythingRating? &getTopRated=`1` &topDir=`worst` &atrGrp=`photos` &topNb=`3` &topTpl=`@FILE:assets/snippets/anythingRating/templates/anotherTopRated.tpl.html` &topTable=`maxigallery` &topDescrField=`descr` &topImageField=`filename` &topLinkField=`gal_id` &topLabel=`photos`!]
- отображение 3 худших по рейтингу!
- идентификатор, название и описание в рейтинге берется из таблицы "maxigallery"
- поля для идентификатора и названия используется как 'id' и 'title' по умолчанию
- название блока с результатми рейтинга "photos"
- имя поля для описания 'descr' берется из таблицы "maxigallery"
- для ссылки используется поле 'gal_id'
- для изображения используется поле 'filename'
- шаблон по умолчанию: assets/snippets/anythingRating/templates/anotherTopRated.tpl.html