在查看了这里和其他地方的一些帖子之后,我似乎仍然无法手动向配置文件添加选择字段。 (我需要使用SQL查询填充选择列表,核心配置文件模块不支持。)
到目前为止,我正在尝试两种不同的方式:hook form alter($ form_id =='user-register'& hook user($ op =='register') - 但我甚至无法获得该字段出现在登记表中。
function accountselect_user($op, &$edit, &$account, $category = NULL) {
if ($op == 'register'){
$fields['account_select'] = array(
'#type' => 'fieldset',
'#title' => t('Your Security Question')
);
$fields['account_select']['account_name'] = array(
'#type' => 'select',
'#default_value' => 'Select',
'#description' => t('Select a verification question in case you forget your password'),
'#options' => array(t('Select One'),
t('Where you attended Elementry School'), t('Your Best Man'))
);
return $fields;
}
这是钩形式改变尝试
function accountselect_form_alter(&$form, $form_state, $form_id){
if($form_id == 'user-register') {
$form['account_select']['account_name'] = array(
'#type' => 'select',
'#title' => t('Account'),
'#description' => t('Enter the account to which the contact belongs.'),
'#options' => array(t('Account1'),t('account2'), t('account3')),
'#default_value' => $edit ['Account']
);
}
return $fields;
}
答案 0 :(得分:1)
抱歉,伙计们,这里的代码是正确的。首次启用模块时,我做了一些调试。我以为我已经成功修复了问题,但真正发生的是模块被禁用了。所以,无论那里有什么,它都没有效果......
不用担心,我为这个愚蠢的问题打了一拳......