[Решено] изменение типа данных Строка в Дата (время) в Rules action

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

Аватар пользователя webrelab webrelab 12 января 2014 в 18:12

Друзья, помогите решить проблему.
В action rules добавляю выполнение PHP кода в котором вычисляю некоторое значение, используя поля из инициировавшей правило ноды. Каким образом результат этого вычисления можно использовать в дальнейшем процессе обработки правила? В кратце, результат работы PHP кода - дата. Мне необходимо эту дату использовать в качестве даты запланированного выполнения компонента (sheduled rules).
Пробовал добавлять в action переменную (напр. $next_date) до PHP кода и в самом PHP коде записываю результаты вычислений в эту переменную ($next_date), но это ничего не меняет.
Есть возможность изменять перменную прямо в ней в поле "PHP evaluation", но в нём не предоставляется доступ к содержимому ноды и оно становится для меня бесполезным. Найти рецепт так и не удалось.

Комментарии

Аватар пользователя Orion76 Orion76 12 января 2014 в 20:44

Наверное нужен сначала action "установить значение" в котором в переменную установиться php-кодом нужно значение.
А потом эту переменную использовать в других actions

Аватар пользователя webrelab webrelab 13 января 2014 в 16:39

Это я тоже пробовал, там суть такая же - не предоставляется доступ к переменным.
То, что мне нужно, делается только с типом данных "текст", прям при добавлении переменной можно уже использовать переменную $node для получения нужных полей из ноды с помощью PHP.
Но если я использую тип данных "текст", то его потом нельзя применить в качестве даты запланированной задачи. Откопал модуль Rules Data Transforms, который умеет менять формат строки в дату. Там что-то такое есть, но данные по прежнему не доступны в полях выбора даты.
Подскажите, как ещё можно добыть данные из БД, названия нужных полей я уже выудил через devel.