,

Как обновить поле field используя Fields API

Иногда не хочется использовать node_save, а поле сохранить надо, да еще желательно отработать все хуки. А как это делать см. ниже.

      $entity = new stdClass();
      $entity->nid = $nid;
      $entity->type = 'offer';
      $entity->field_offer_rate['und'][0]['value'] = carpot_certificate::count_purchased($nid)/self::count_views($nid);
      field_attach_presave('node', $entity);
      field_attach_update('node', $entity);

ВНИМАНИЕ!!! Необходимо указывать правильный тип материала, иначе не все поля будут иметь пред значения и данные будут пропадать.