Перейти к основному содержанию

Обновление полей ноды без вызова hook_node_update

Отправлено said от вт, 04/12/2016 - 17:31

Иногда требуется обновить поля ноды, после ее сохранения пользователем.

Если использовать hook_node_update и в нем вызвать node_save произойдет зацикливание скрипта. Чтобы этого не происходило мы вместо node_save используем field_attach_update

$node->field_request_status['und'][0]['tid'] = $node->new_status;
$node->field_status_history['und'][] = array(
    'value' => $status_str,
    'format' => 'NULL',
    'safe_value' => check_plain($status_str),
);
field_attach_presave('node', $node);
field_attach_update('node', $node);

 

Теги