Как ограничить количество пользовательских баллов, которые получают пользователи?

У меня есть тип контента «Контент» с полем «Значение» (целое число) и флагом «Опубликовать контент и предоставить баллы пользователю». Каждый раз, когда контент помечен этим флагом, я хотел бы предоставить автору контента несколько пользовательских баллов, равных значению в поле «Значение», но не более 5.

У меня вопрос по поводу условия "максимум 5". Я создал 2 отдельных правила с дополнительным условием «Сравнение данных»: одно с [узел с флагом: значение поля меньше 6], а другое с [узел с флагом: значение поля больше 5]. (Обратите внимание, что я могу выбрать здесь «значение поля»!) Разве нельзя сделать это всего за 1 единственное правило?

Примечание. У меня также возникла проблема с полем "Значение". См.: Предоставить пользователю очки пользователя, равные значению определенное поле.


person Jeroen    schedule 03.10.2013    source источник


Ответы (1)


Я нашел решение для моего вопроса; может быть, это может помочь и другим. На самом деле я создал правило «исправления», которое активируется после того, как пользователю были начислены пользовательские баллы, а узел «Контент» был помечен как «Опубликовать контент и предоставить баллы пользователю». Вот как я установил правило:

СОБЫТИЕ

  • Пользователь был награжден пользовательскими баллами
  • Узел был помечен в разделе «Опубликовать контент и предоставить баллы пользователю».

Затем я проверил, превышает ли количество баллов 5.

УСЛОВИЯ

  • Сравнение данных: [userpoints-transaction:points] больше, чем 5

Наконец, я вычислил разницу между добавленными юзерпойнтами и 5 и вычел это значение из юзерпойнтов пользователя.

ДЕЙСТВИЯ

  • Вычислить значение: [userpoints-transaction:points] "-" 5 (имя переменной: разница)
  • Вычислить значение: [difference] "*" -1 (имя переменной: вычесть)
  • Предоставить баллы пользователю: предоставить [userpoints-transaction:user] substract баллов

Мне пришлось вставить второе вычисление, потому что иначе я не смог бы вычесть «разницу» из пользовательских баллов пользователя.

person Jeroen    schedule 03.10.2013