Многие меня просили добавить оценивание в свои компоненты и я вроде как разобрался как это делать и всецело готов поделиться с начинающими разработчиками как это сделать!
Итак, приступим!
Великий алыверды разработчикам ICMS за то что за нас уже всё предусмотрели! Нам лишь чуть придётся исправить frontend.php:
1. Подключаем библиотеку кармы во фронтенде:
2. Настраиваем вывод кармы:
В том месте где мы передаём параметры просмотра смарти добавляем:
где:
content_name — имя контента — должно быть уникальным
content_id — уникальный идентификатор контента
is_author — булевый параметр — является ли текущий пользователь автором контента
Вот и всё! мы подключили карму к нашему контенту, осталось только добавить {$karma_form} в нужное место нашего шаблона!
Итак, приступим!
Великий алыверды разработчикам ICMS за то что за нас уже всё предусмотрели! Нам лишь чуть придётся исправить frontend.php:
1. Подключаем библиотеку кармы во фронтенде:
$inCore->loadLib('karma');
В том месте где мы передаём параметры просмотра смарти добавляем:
$smarty->assign('karma_form', cmsKarmaForm('content_name', content_id, 0, is_author));
content_name — имя контента — должно быть уникальным
content_id — уникальный идентификатор контента
is_author — булевый параметр — является ли текущий пользователь автором контента
Вот и всё! мы подключили карму к нашему контенту, осталось только добавить {$karma_form} в нужное место нашего шаблона!
Видимо что-то не так с пунктом is_author
Блок кармы выходит и он постоянно НЕактивный (проголосовать нельзя)
т.е. как правильно там задать чтоб голосовали только авторизованные пользователи ...
Теперь голосовалка активна для зарегиных пользователей.
Но при нажатии пишет что голос принят, но ничего не меняется и при обновлении страницы тоже самое ...
Переменные "название компонента" и ИД записи выводятся корректно (проверил).
Заполнено так:
$smarty->assign('karma_form', cmsKarmaForm('moicomponent, idzapisi, 0, 0));
С чем это может быть связано?
В моем компоненте ИД-записи тоже числовое значение, но отличается пожалуй только тем что имеет 16 цифр в ИД.
И в БД записывается совсем другое число-ИД.
Но вот обратной связи нет почему-то ...
-
Т.е. жмешь рейтинг - он пишет что засчитано. Цифра не меняется, но в бд все записи верно сделаны.
-
Последний раз я с таким сталкивался с привязкой к компоненту комментариев. Выход был в записях в файл model.php
-
А тут хз что там писать ... и сравнить то не счем ... хоть какие переменные указывать ... в каментах там была запись "public function getCommentTarget($target, $target_id) { ..... "
А тут и сравнить то не с чем ...