РЕШЕНО. При накоплении Userpoints в профиле меняется значение поля

Главные вкладки

Аватар пользователя WebFamily WebFamily 8 января 2014 в 21:26

Использую Drupal 7, Rate, Rules и Userpoints для создания кармы пользователей. Карма (Userpoints) начисляется (Rules) из суммы рейтинга (Rate) всех его нод и комментариев. Все отлично работает.
Хочу сделать так, чтобы пользователи имели уровни (новичок, опытный и т.д. - это термины таксономии) исходя из накопленной кармы (баллов). Пытаюсь создать правило в Rules, по которому пользователям набравшим, например, больше 100 баллов кармы присваивается новый уровень. Но как не крутил, не могу найти условие проверки количества баллов у пользователя, которому начислили только что баллы. Data selector в условии VOTE RESULTS должен быть примерно такой userpoints-transaction:user:vote-results. Но никак ничего не выходит.

Решение в комментариях.

Комментарии

Аватар пользователя drupby drupby 8 января 2014 в 21:31

не понял - надо менять значение пола пользователя?

"WebFamily" wrote:
Но как не крутил, не могу найти условие

а на какое действие рулес?

Аватар пользователя WebFamily WebFamily 8 января 2014 в 21:44

"WebFamily" wrote:
action какой ?

Если вы про событие. Ставлю на событие "User will be awarded баллы", но тогда в условии "evaluate the results of a vote" в Data selector нет нужных данных для проверки.

Аватар пользователя WebFamily WebFamily 8 января 2014 в 21:59

"drupby" wrote:
выбери условие - сравнение данных

Выбираю в условиях сравнение данных.

Data comparison
Parameter: Data to compare: [userpoints-transaction:points, Operator: is greater than, Data value: 200

Проверяю, тоесть клацаю по рейтингу нод автора, но у автора не меняется поле. (Если убрать условие то действие срабатывает).

Аватар пользователя WebFamily WebFamily 8 января 2014 в 21:55

А все потому что, сравниваю скорее всего не то. Нужно сравнивать же vote-resultats, но в сравнении данных его нет.

Аватар пользователя drupby drupby 8 января 2014 в 22:39

"WebFamily" wrote:

А все потому что, сравниваю скорее всего не то. Нужно сравнивать же vote-resultats, но в сравнении данных его нет

сделай в действии для отладки вывод сообщения userpoints-transaction:points и посмотри что там

Аватар пользователя WebFamily WebFamily 10 ноября 2015 в 11:49

"drupby" wrote:
сделай в действии для отладки вывод сообщения userpoints-transaction:points и посмотри что там

Сделал, результат прикрепил файлом со скрином. Видно, что показывает 4 единицы, это по 2 балла идут на карму и рейтинг ноды (по 2 потому что уже нажимали на -1 и чтобы не было 0, когда человек передумает, плюсы обратно 2, короче это уже нюансы).
Вот и выходит, что userpoints-transaction:points выводит только текущий голос, а мне нужно Общую сумму баллов vote-results.

Аватар пользователя drupby drupby 9 января 2014 в 0:34

"WebFamily" wrote:
Вот и выходит, что userpoints-transaction:points выводит только текущий голос, а мне нужно Общую сумму баллов vote-results.

там где то должно быть и общее колво поинтов - пробуй другие токены

Аватар пользователя WebFamily WebFamily 9 января 2014 в 0:49

"drupby" wrote:
пробуй другие токены

Сделал 1-ое действие, чтобы вытянуть loaded-points:

Load баллы of a user
Parameter: Пользователь: [userpoints-transaction:user], Баллы category: Рейтинг
Provides variables: Number of баллы in the specified category. (loaded_points)

И 2-ым действием вывел на экран:

Show a message on the site
Parameter: Сообщение: [loaded-points]

loaded-points выводит общее количество, тоесть сумму баллов пользователя, но как вытянуть loaded-points в условиях?

Аватар пользователя WebFamily WebFamily 9 января 2014 в 1:15

"drupby" wrote:
а после добавления в действия переменной с общим колвом в условиях не появляется эта переменная?

Нету. Только вот все перепроверил. Нигде нет.

Аватар пользователя drupby drupby 9 января 2014 в 1:31

а действие какое - добавление переменной ?если нет , то добавь переменную и туда впиши то что ты загрузил

Аватар пользователя WebFamily WebFamily 9 января 2014 в 1:52

"drupby" wrote:
в действиях выбери добавить переменную

Она не добавляется в переменные, и в списке ее тоже нет.
Нашел вот это https://drupal.org/node/874384 . Получается, что в условиях должен быть пункт Userpoints, но он есть только в событии и действиях, а в условиях его нет. Пробовал ставить DEV версию и ранние версии, но не помогло (хотя может быть надо было с полным удалением модуля, я просто отключал, заливал новый и устанавливал, боюсь стереть данные в базе о голосах). Вообщем по ходу модуль это либо еще что-то.

Аватар пользователя drupby drupby 10 ноября 2015 в 11:49

вот файл с патчем

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

Аватар пользователя WebFamily WebFamily 9 января 2014 в 2:17

"drupby" wrote:
вот файл с патчем

Спасибо, а то я вручную собирался патчить) Файлик заменил, появилось в условиях userpoints, надеюсь дальше вопросов не возникнет.
Все дело значит в модуле, нужен был маленький патч, чтобы появилось условие соответствующее, а я полдня убил на это дело. пишу РЕШЕНО.

Аватар пользователя Asemka Asemka 9 января 2014 в 15:41

Работа по удаленному мониторингу охраняемых объектов. Наблюдение ведется через интернет по прямой видеосвязи. Обязанности - сообщать о проблемах на объектах согласно инструкции. График гибкий, 6 часов в сутки. Место жительства значения не имеет. 280 руб. в час. Пишите на email: webadm24serv@gmail.com

Аватар пользователя tatfisher tatfisher 3 февраля 2014 в 20:06

WebFamily,
«Использую Drupal 7, Rate, Rules и Userpoints для создания кармы пользователей. Карма (Userpoints) начисляется (Rules) из суммы рейтинга (Rate) всех его нод и комментариев. Все отлично работает.»
Если не затруднит, расскажи как настроил зачисление баллов пользователю (userpoint) за голосование ноды, комментов.

Аватар пользователя WebFamily WebFamily 10 ноября 2015 в 11:49

"tatfisher" wrote:
как настроил зачисление баллов пользователю (userpoint) за голосование ноды, комментов.

1. Установил модули Rate, Voting API, Rules, Voting Rules, Userpoints и Userpoints rules integration
2. Создал флаг, чтобы помечать ноды и комментарии, за которые голосовал пользователь
3. Создал 4 правила (скрины прикрепил в файле)

Первые два правила начисляют +1 или -1 балл за голосование к Userpoints, а также помечают или снимают флаг с ноды или комментария.
Третье и четвертое правило добавляет при повторном голосовании +1 или -1 балл (Например пользователь голосует +1, к карме добавляем +1 (первое правило), пользователь меняет свое решение и голосует -1, мы к карме добавляем -1 (первое правило) и еще -1 (второе правило), чтобы избежать 0, в итоге карма -1)

Аватар пользователя tatfisher tatfisher 4 февраля 2014 в 18:46

WebFamily wrote:

3. Создал 4 правила (скрины прикрепил в файле)

Спасибо за ответ и пример реализации, очень помог.

В моей задаче -1 не будет ,исключительно положительная карма. Значит ли это, что 2 правила rules отпадают?

Аватар пользователя -NIK- -NIK- 20 января 2015 в 20:46

WebFamily wrote:
"tatfisher" wrote:
как настроил зачисление баллов пользователю (userpoint) за голосование ноды, комментов.

1. Установил модули Rate, Voting API, Rules, Voting Rules, Userpoints и Userpoints rules integration
2. Создал флаг, чтобы помечать ноды и комментарии, за которые голосовал пользователь
3. Создал 4 правила (скрины прикрепил в файле)

Первые два правила начисляют +1 или -1 балл за голосование к Userpoints, а также помечают или снимают флаг с ноды или комментария.
Третье и четвертое правило добавляет при повторном голосовании +1 или -1 балл (Например пользователь голосует +1, к карме добавляем +1 (первое правило), пользователь меняет свое решение и голосует -1, мы к карме добавляем -1 (первое правило) и еще -1 (второе правило), чтобы избежать 0, в итоге карма -1)


Здравствуйте, можно подробнее по поводу флагов и категорий рейтингов.
1. На сколько я понял флагов нужно создать 2 штуки, плюс и минус?
2. По поводу категорий рейтинга, у вас в правилах несколько одинаковых действий: Grand балы пользователю и load балы пользователю, так вот там разные категории рейтингов: Рейтинг и Наплюсил, можете рассказать о том зачем разные категории?

Аватар пользователя WebFamily WebFamily 5 февраля 2014 в 15:22

"tatfisher" wrote:
Значит ли это, что 2 правила rules отпадают?

Значит правила на вычитание кармы не будет. Но если пользователю дать возможность передумать и проголосовать повторно -1, то одно правило на вычитание должно быть.