[Решено] В Rules не полностью срабатывает php-код.

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

Аватар пользователя neadekvat neadekvat 3 августа 2011 в 14:18

Доброго всем времени суток.

В модуле rules вешаю на событие выполнение следующего php-кода:

<?php
if ($node->field_stop_pay[0]['value'] != '')
    
$node->field_stop_pay[0]['value'] = strtotime('+5 day'$node->field_stop_pay[0]['value']);
else
    
$node->field_stop_pay[0]['value'] = strtotime('+5 day');

$node->field_pay[0]['value'] = 1;
$node->field_do_it_pay[0]['value'] = 0;

return array(

"node" => $node);
?>

Поля field_stop_pay, field_pay, field_do_it_pay - существуют, числового типа.
Однако сохраняется только изменение в поле field_do_it_pay, остальное - остается неизменным.

Почему так может быть?

Заранее спасибо.

Комментарии

Аватар пользователя neadekvat neadekvat 3 августа 2011 в 18:05

Эм... Не использовать <?php ?>, ведь так?
То, что вы видите выше, в этой теме - это сам движок ставит, когда выделяешь код тегами.

К тому же, самое то странное - ведь последняя строчка работает:

<?php
$node
->field_do_it_pay[0]['value'] = 0;
?>
Аватар пользователя neadekvat neadekvat 3 августа 2011 в 19:11

*плачед*

Я просто лошара.

У меня еще есть второй действие - обратное. Так там в условии вместо <= было >= и соответственно оно постоянно выполнялось, обнуляя результат работы первого.

Так что все отлично работает.

Спасибо за участие и пардон, что отобрал время.

P.S. "Решено" в заголовке ставить?

Аватар пользователя Антоха82 Антоха82 27 октября 2014 в 23:15

"Vydrin_AP" wrote:

Это правило учли?
The code that should be executed. Don't include <?php ?> delimiters.

Мля, три часа парился, кучу вариантов подбирал. А оказывается НЕ НАДО ставить. Выдранные волосы не вернуть.