function Mymodule_user($op,&$edit, &$account, $category = NULL) {
switch ($op) {
case 'register':
$result = db_query("SELECT id,name FROM {sites} ORDER BY name");
while($row=db_fetch_array($result)) {
$sites[$row['id']] = $row['name'];
}
$form['site_select'] = array(
'#type' => 'select',
'#title' => t('Select your site'),
'#options' => $sites,
)
return $form;
case 'insert':
//How to take the $form values from above and use in my query to
//write to my own table while writing to the standard 'users' table?
db_query("INSERT INTO {another_table} (site_name) VALUES ('%s')",
$form['site_select']);
);
Когда пользователь нажимает кнопку SUBMIT при создании стандартной учетной записи Drupal, как передать значение моего настраиваемого поля $ form ['site_select'] в мой case 'insert', чтобы я мог записать это в 'another_table'. Данные обычного пользователя, такие как имя пользователя и пароль, должны продолжать записываться в таблицу «пользователи» по умолчанию.
В: Почему бы просто не позволить сериализовать Drupal и сохранить ваши данные в таблице 'users' в поле 'data', как это обычно делается?
A: Потому что я хочу иметь возможность AJAX-ify и использовать автозаполнение в другой форме Drupal, а также запрашивать определенные пользовательские поля в MySQL. MySQL не может сериализовать / десериализовать. Например, «ВЫБЕРИТЕ DISTINCT имя_сайма FROM another_table»