правила (rules ) добавить condition

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

Аватар пользователя artem8 artem8 20 марта 2015 в 17:32

никак не могу найти условие в condition, чтобы проверить новый пользователь (зарегистрирован менее недели назад) или пользователь уже более недели на сайте.
правило на отметку флагом.

Комментарии

Аватар пользователя bumble bumble 20 марта 2015 в 18:52

"artem8" wrote:
никак не могу найти условие в condition

Таких условий не бывает.
Можно проверить следующим способом:
Нужно поставить и включить модуль Conditional Rules.
В правиле добавляете действия:

  1. Convert data type - site:current-date
  2. Convert data type - site:current-user:created
  3. Вычислить значение - отнимаете от первого значения конвертации второе
  4. Вычислить значение - делите значение из предыдущего действия на 86400
  5. Добавить conditional - добавляете условное действие (кнопка внизу)
  6. Добавить if - Сравнение данных - значение из последнего действия с вычислением больше 7 (или меньше 7, в зависимости от нужд, это количество дней с которым нужно сравнить дату создания пользователя)
  7. - Выполняем нужные действия - выполнять строго в ветке с проверкой

При необходимости можно добавить else.

Аватар пользователя artem8 artem8 20 марта 2015 в 22:27

"bumble" wrote:
В правиле добавляете действия:

Convert data type - site:current-date
Convert data type - site:current-user:created
Вычислить значение - отнимаете от первого значения конвертации второе
Вычислить значение - делите значение из предыдущего действия на 86400


а это будет работать? как я понимаю, друпал сначала проверит условие, а только потом будет конвертировать и считать.

и вообще зачем так сложно, я видел можно поставить сдвиг на 7 дней.

я в condition не могу найти дату регистрации пользователя, ни который ставит флаг, ни того на кого ставит флаг.

Аватар пользователя artem8 artem8 20 марта 2015 в 22:50

нашел. со сдвигом работает. вычисления не пробовал, думаю они из советов bumble работать не будут.
модуль Conditional Rules не требуется, в сравнении данных есть и больше чем и меньше чем.

Аватар пользователя bumble bumble 20 марта 2015 в 22:55

"artem8" wrote:
я в condition не могу найти дату регистрации пользователя, ни который ставит флаг, ни того на кого ставит флаг.

flagging-user:created

Аватар пользователя artem8 artem8 20 марта 2015 в 22:58

"bumble" wrote:
Это еще почему?

"artem8" wrote:
как я понимаю, друпал сначала проверит условие, а только потом будет конвертировать и считать.

Аватар пользователя artem8 artem8 20 марта 2015 в 23:04

"bumble" wrote:
Указывайте условия после расчетов... В чем проблема то?

это как?

и зачем?

я сравниваю, что текущая дата больше чем дата регистрации пользователя со сдвигом 7 дней.
и все. вся загвоздка была в том что я плохо искал это flagging-user:created

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

"artem8" wrote:
это как?

Как то так:

"artem8" wrote:
и зачем?

я сравниваю, что текущая дата больше чем дата регистрации пользователя со сдвигом 7 дней.
и все. вся загвоздка была в том что я плохо искал это flagging-user:created


Согласен, так проще будет. У меня уже наверно паранойя - все должно решаться самым сложным путем, пусть даже через ж...

Аватар пользователя artem8 artem8 20 марта 2015 в 23:21

я не ставил доп модуля, поэтому через иф даже не прикидовал.

теперь другая проблема возникла, надо назначить userpoints, но за основу взять поинты пользователя который ставит флаг, разделить их на 10 и округлить до целого в большую сторону.

видел на форуме предлагали пропатченый файл, но он дает возможность только сравнивать поинты.

может у тебя есть решение как вычисления с ними сделать? можно даже сложным путем.

Аватар пользователя bumble bumble 20 марта 2015 в 23:39

C userpoit особо не работал. Из того что под рукой:
Действие: Load points of a user (flagging-user);
Действие: Вычислить значение (loaded-points / 10);
Действие: Convert to data type (Целое число > result, Океруглить "Always up");
Действие: Grand points to a user (Пользователь - flagging-user, Points - conversion-result, Points category - выбрать нужную, Сущность и описание если нужно заполнить, Действие - Insert на сколько я понял, ну и все остальное по надобности)