Drupal 7 具有多个选择字段(如复选框或选择字段)的用户_save()
“我的自定义注册表”模块有一个选择字段,允许新用户选择一个或多个城市。在我的搜索中,我没有找到任何可以借鉴的例子。例如,如果要保存的城市密钥为20和53,是否有人有以下代码中“field_city”=>的示例Drupal 7 具有多个选择字段(如复选框或选择字段)的用户_save(),drupal-7,drupal-modules,Drupal 7,Drupal Modules,“我的自定义注册表”模块有一个选择字段,允许新用户选择一个或多个城市。在我的搜索中,我没有找到任何可以借鉴的例子。例如,如果要保存的城市密钥为20和53,是否有人有以下代码中“field_city”=>的示例 $edit = array( 'name' => 'tester', 'pass' => user_password(), 'mail' => 'tester@testing.com', 'status' => 0, 'init' => '
$edit = array(
'name' => 'tester',
'pass' => user_password(),
'mail' => 'tester@testing.com',
'status' => 0,
'init' => 'tester@testing.com',
'access' => REQUEST_TIME,
'field_city' => ,
'field_zip_postal_code' => array(LANGUAGE_NONE => array(array('value' => '12345'))),
'field_gender' => array(LANGUAGE_NONE => array(array('value' => 'Male'))),
);
user_save(drupal_anonymous_user(), $edit);
这是我自己想出来的。如果对任何人都有帮助,对于分类术语引用,列名是“tid”,而不是其他字段的“value”。我将注册代码更改为:
$edit = array(
'name' => $form_state['step_information'][2]['stored_values']['name'],
'pass' => user_password(),
'mail' => $form_state['step_information'][2]['stored_values']['email'],
'status' => 0,
'init' => $form_state['step_information'][2]['stored_values']['email'],
'access' => REQUEST_TIME,
'field_zip_postal_code' => array(LANGUAGE_NONE => array(array('value' => $form_state['step_information'][3]['stored_values']['postal_code']))),
'field_gender' => array(LANGUAGE_NONE => array(array('value' => $form_state['step_information'][3]['stored_values']['gender']))),
);
foreach(array_keys($form_state['step_information'][1]['stored_values']['cities']) as $key => $val) {
$edit['field_city'][LANGUAGE_NONE][$key] = array('tid' => $val);
}
$new_account = user_save(drupal_anonymous_user(), $edit);
在“foreach”循环中,$key是一个基数(0,1,2…),存储在数据库的“delta”列中,$val是城市的ID。我自己找到了这个。如果对任何人都有帮助,对于分类术语引用,列名是“tid”,而不是其他字段的“value”。我将注册代码更改为:
$edit = array(
'name' => $form_state['step_information'][2]['stored_values']['name'],
'pass' => user_password(),
'mail' => $form_state['step_information'][2]['stored_values']['email'],
'status' => 0,
'init' => $form_state['step_information'][2]['stored_values']['email'],
'access' => REQUEST_TIME,
'field_zip_postal_code' => array(LANGUAGE_NONE => array(array('value' => $form_state['step_information'][3]['stored_values']['postal_code']))),
'field_gender' => array(LANGUAGE_NONE => array(array('value' => $form_state['step_information'][3]['stored_values']['gender']))),
);
foreach(array_keys($form_state['step_information'][1]['stored_values']['cities']) as $key => $val) {
$edit['field_city'][LANGUAGE_NONE][$key] = array('tid' => $val);
}
$new_account = user_save(drupal_anonymous_user(), $edit);
在“foreach”循环中,$key是一个基数(0、1、2…),存储在数据库的“delta”列中,$val是城市的ID