Доработка рейтинга
Решаю задачу:
1. Как сделать рейтинг 10 звезд, вместо 5 для типа контента?
2. Что поправить, чтобы можно было голосовать за свою запись?
3. Как добавить второй рейтинг к типу контента? Грубый пример:
Ниссан Кашкай:
Проходимость (оценка): 6 из 10
Расход топлива (оценка): 8 из 10
Любые мысли. Заранее спасибо)
Скажите вы разработчик?1. Как сделать рейтинг 10 звезд, вместо 5 для типа контента?
Если нет то средствами настроек ни как, только в раздел к фрилансерам
Если да то документация подскажет на этом сайте
В system\controllers\rating\hooks\content_before_item.php
Вместо:
$is_rating_allowed = cmsUser::isAllowed($ctype['name'], 'rate', true, true) && ($item['user_id'] != $this->cms_user->id);
$is_rating_allowed = cmsUser::isAllowed($ctype['name'], 'rate', true, true);
Вместо:
if ($target['user_id'] == $this->cms_user->id || !cmsUser::isAllowed($target_subject, 'rate')){ 'success' => false, 'message' => LANG_RATING_DISABLED )); }
if (!cmsUser::isAllowed($target_subject, 'rate')){ 'success' => false, 'message' => LANG_RATING_DISABLED )); }
Спасибо. Буду тестить.
Нечто похожее instantcms.ru/addons/goodmade-field-stars.html .
И сделать это можно циклом.можете нарисовать сколько угодно звезд тут
Ха, действительно… Значение никак не фильтруется)) Это возможность для накрутки.
По первому пункту можете нарисовать сколько угодно звезд тут github.com/instantsoft/icms2/blob/master/templates/modern/controllers/rating/widget_stars.tpl.php#L23
Написал в цикле.
<?php $r_count = 0; while($r_count < 10){ ++$r_count; ?> <div class="star rating pr-1" data-rating="<?php echo $r_count; ?>"> <?php html_svg_icon('solid', 'star'); ?> </div> <?php } ?>
В общем, валидация от накрутки (скрутки):
В system\controllers\rating\actions\vote.php
Вместо:
$is_valid = ($this->validate_sysname($target_controller)===true) && ($this->validate_sysname($target_subject)===true) && ( );
$is_valid = ($this->validate_sysname($target_controller)===true) && ($this->validate_sysname($target_subject)===true) && ( );
Просто возникла мысль клонировать его… Или там куча зависимостей и оно намертво вшито в CMS??
Просто со вторым рейтингом — засада… С наскока, как предыдущие проблемки — никак не решается))
Это затестил. По факту — просто поле, где автор может выставить себе звёздочки)) В общем, близко не рейтинг.
Нечто похожее instantcms.ru/addons/goodmade-field-stars.html .