В правилах
запланировано выполнение компонента (а именно смена статуса заявки с "в работе" на "выполнена"
указана дата выполнения node:field-3date:0:value2
Т.е. сейчас, когда node:field-3date:0:value2 <== Время UTC, то статус заявки меняется с "в работе" на "выполнена"
Необходимо сделать, чтобы статус менялся
field-3date:0:value2 -(минус) "разницу времени из field_chasovoi_poyas" <== Время UTC
или можно это же условие сформулировать по другому:
field-3date:0:value2 <== Время UTC +(плюс) "разницу времени из field_chasovoi_poyas" (что собственно одно и тоже)
Примечание:
с учётом часового пояса как со знаком +(плюс), так и со знаком минус -(минус)
Комментарии
Есть код, но только при срабатывании крона статус меняется сразу, независимо от условий, подскажите что не так с кодом?
<?php
$nid=arg(1);
$node = node_load($nid);
//drupal_set_message('<pre>'. print_r($node, TRUE) .'</pre>');
$term= taxonomy_term_load($node->field_city_zakaza_term2['und'][0]['target_id']);
if(isset($term->field_chasovoi_poyas['und'][0]['value'])){
$value=date('Y-m-d H:i:s',$value);
$datetime = new DateTime($value, new DateTimeZone($term->field_chasovoi_poyas['und'][0]['value'])); $datetime->setTimezone(new DateTimeZone("UTC"));
//drupal_set_message('<pre>'. print_r($datetime->format('Y-m-d H:i:s'), TRUE) .'</pre>');
return strtotime($datetime->format('Y-m-d H:i:s'));
}
?>
<?phpisset($term->field_chasovoi_poyas['und'][0]['value'])?>
тут надо !empty() использовать, видимо
Всплывает ошибка, может поэтому и не работает?
Notice: Trying to get property of non-object в функции eval() (строка 3 в файле /home/users/9/alex/domains/site.ru/sites/all/modules/rules/modules/php.eval.inc(179) : eval()'d code).
Лучше вам нанять программиста. Либо попробовать разобраться в том, что написано: что приходит, откуда приходит и пр.
К сожалению ничего не поменялось