Как обновить значение одного поля, вызывая соответствующую проверку

Я создаю модуль, позволяющий пользователям обновлять отдельные поля в этом случае, их пользовательской сущности.

Приведенный ниже код является примером метода, который я изначально использовал, чтобы заставить его работать и протестировать другие элементы модуля.

global $user;
$account = user_load($user->uid);
$edit = (array) $account;
$edit['field_lastname']['und'][0]['value'] = 'test';
user_save($account, $edit);

Однако он обходит любую проверку полей, определенную где-то еще в Drupal. Я не хочу воспроизводить какие-либо проверки, написанные где-либо еще - это не способ Drupal!

Мой вопрос: Есть ли в Drupal 7 функция, которую можно вызвать для обновления значения отдельного поля. Я предполагаю, что такая функция очистит соответствующие кеши, вызовет проверку полей и т. Д.

Я знаю, что решение будет полностью отличаться от решения, основанного на моем текущем пользовательском объекте. Я просто не могу найти подходящую функцию в API. Я размышляю, является ли тот факт, что я ищу только функцию сохранения, проблемой - и что есть еще несколько необходимых шагов, которые нужно сделать перед этим.

Любая помощь с благодарностью.

6
задан kiamlaluno 20 February 2011 в 01:45
поделиться