Drupal → Как программно заполнить поле расширенного профиля (Profile)

22.01.2011

Код, который заполняет поле profile_phone значением 8905 987-21-32:

$uid = 1;                                  // id пользователя
$fieldName = 'profile_phone';              // имя поля
$fieldCategory = 'Контактная информация';  // категория поля
$fieldValue = '8905 987-21-32';            // новое значение поля

$field = db_fetch_object(db_query("
  SELECT fid, type FROM {profile_fields}
  WHERE name = '%s' AND category = '%s'
", $fieldName, $fieldCategory));

if (_profile_field_serialize($field->type)) {
  $fieldValue = serialize($fieldValue);
}

db_query("
  UPDATE {profile_values} SET value = '%s'
  WHERE fid = %d AND uid = %d
", $fieldValue, $field->fid, $uid);
Написанное актуально для
Drupal 6.x
Похожие записи

Комментарии

Гость
08.09.2011, 12:55

А в какой хук вставлять этот код?

Иероглиф
09.07.2012, 02:44

спасибо! =)
было очень лениво ковыряться, а тут готовое решение =)

Гость
28.02.2013, 17:51

Если Вас не затруднит, подскажите реализацию для 7-ки

Добавить комментарий