[goodStar-1.0.6] - звездный рейтинг



Прошелся по пожеланиям и не много доработал рейтинг.


О всех доступных функциях можно почитать в первой заметке

Так как я раньше не работал с созданием событий, то решил добавить событие на голосование.
Событие OnGoodStarVoice, в которое приходит массив:
[thread] => 5 // id ресурса, за который проголосовали
	[vote] => 5 // какую оценку поставили
	[user] => 1 // id пользователя (612b5939e15efa0912d6dc9ca44b182f или вот такое если аноним)
Повлиять на голос Вы не сможете, но к примеру можете добавить логику к примеру начисления какого нибудь бонуса за голос.

так же просили микроразметку для поисковиков. Теперь она тоже есть. Чанк имеет такую структуру:
<div itemscope itemtype="http://schema.org/Product">
    <p itemprop="name" class="rating-hide">[[+name]]</p> <!-- Название Продукта -->

    <select class="example" data-thread="[[+id]]" data-current-rating="[[+current_rating]]" data-group="[[+group]]" data-readonly="[[+readonly]]">
        <option value=""></option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
    </select>
    <span>[[+user_rating:notempty=`Ваш голос: [[+user_rating]]`]]</span>
    <span>Число голосов: [[+count_voite]]</span>

    <div itemscope itemtype="http://schema.org/AggregateRating" itemprop="aggregateRating" class="rating-hide"> <!-- Начало РЕЙТИНГА -->
        <div itemprop="ratingValue">[[+current_rating]]</div> <!-- Значение рейтинга -->
        <div itemprop="bestRating">5</div> <!-- Максимальное Значение рейтинга -->
        <div itemprop="worstRating">1</div> <!-- Минимальное Значение рейтинга -->
        <div itemprop="ratingCount">[[+count_voite]]</div> <!-- Число голосов -->
    </div><!-- Конец РЕЙТИНГА -->
</div>
Я не знаю, на сколько это правильное решение, рад буду выслушать замечания.

Так же в настройки добавил выбор скрывать вывод микроразметки, что бы не показывалась на странице, просто подключает файл с css.

Буду рад пожеланиям, замечаниям и предложения.

Доступен в modstore.pro всего за 290р.
Михаил
31 мая 2018, 14:30
modx.pro
3
1 781
+5
Поблагодарить автора Отправить деньги

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

Евгений Шеронов
31 мая 2018, 18:36
0
Приятно смотреть на развивающиеся компоненты)

Повлиять на голос Вы не сможете
Теоретически через плагин лучше сделать возможность влиять (как в miniShop2 можно не дать добавить в корзину) вернув false и сообщение «Вам отключена функция голосования ...».

Вдруг есть какой-то пользователь, который намеренно везде ставит единичку или какой-то другой сценарий использования)

P.S. меня можно не слушать — я пока ещё не пользовался компонентом, но когда-нибудь планирую :)
    Михаил
    31 мая 2018, 18:38
    0
    Да я думал, как вариант, в принципе сделать не сложно, если еще пару человек скажут что надо, добавлю.
      Николай Савин
      01 июня 2018, 13:37
      0
      ++
        Андрей
        01 июня 2018, 13:41
        0
        Плюсану, нужная штука
        Александр
        31 мая 2018, 21:00
        0
        (612b5939e15efa0912d6dc9ca44b182f или вот такое если аноним)
        О_о
        А почему не 0 или -1, а такой диковинно гигантский набор символов?
          Михаил
          31 мая 2018, 21:06
          +1
          Ну как определять пользователя? Что бы он повторно не голосовал
            Александр
            31 мая 2018, 21:50
            0
            Действительно. Спасибо за компонент, очень интересная штука
          ks
          ks
          20 ноября 2018, 17:17
          0
          Здравствуйте! Есть ли возможность администратору влиять на рейтинг ресурса?
            Михаил
            08 октября 2020, 22:19
            0
            В данный момент ент. А что вы подразумеваете под этим? Есть на пример события, можно там что то изменятьт
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            9