// Программно изменить поле ноды без node_load и node_save o_O
function set__und ($nid, $type = 'split_sistemy_kondicionery', $field, $value, $key_value = 'value', $i = 0, $und = 'und'){
$node = (object)array(
'nid' => $nid,
'type' => $type,
);
$node->{$field}[$und][$i][$key_value] = $value;
$field_info = field_info_field($field);
field_sql_storage_field_storage_write('node', $node, 'update', array($field_info['id']));
cache_clear_all("field:node:{$node->nid}", 'cache_field');
}
// Пример. Что бы изменить Артикул товара типа сплит системы:
set__und ($nid = 9, $type = 'split_sistemy_kondicionery', 'field_artikul', 'bsv-07');
// Процедурноfunction rename__artikul ($new_nid, $type = 'split_sistemy_kondicionery', $sku){
$node = (object)array(
'nid' => $new_nid,
'type' => $type,
);
$node->field_artikul['und'][0]['value'] = $sku;
$field_info = field_info_field('field_artikul');
field_sql_storage_field_storage_write('node', $node, 'update', array($field_info['id']));
cache_clear_all("field:node:{$node->nid}", 'cache_field');
}
Термин
$term = (object)array(
'tid' => $tid,
'vocabulary_machine_name' => $vocabulary_name,
);$term->{$pole_render_html}['und'][0]['value'] = $set_value;
if (!$set_value){
unset($node->{$pole_render_html});
}$field_info = field_info_field($pole_render_html);
field_sql_storage_field_storage_write('taxonomy_term', $term, 'update', array($field_info['id']));
cache_clear_all("field:taxonomy_term:{$term->tid}", 'cache_field');
Источник: http://xandeadx.ru/blog/drupal/634