我一直在翻阅drupal文档和论坛,但这有点令人生畏。如果有人有简单或直接的方法在管理部分的网站信息页面添加字段,我真的很感激。
作为背景,我只是尝试添加用户可自定义字段的网站范围字段/值。
答案 0 :(得分:7)
在自定义模块中,您可以使用hook_form_alter()
向该表单添加额外字段。例如:
function mymodule_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'system_site_information_settings') {
$form['my_module_extra_setting'] = array(
'#type' => 'checkbox',
'#title' => t('Use my setting'),
'#default_value' => variable_get('my_module_extra_setting', TRUE),
);
}
}
您的代码中的任何地方都需要访问已保存的设置本身,您可以使用相同的调用来填充该表单元素的默认值:variable_get('my_module_extra_setting', TRUE)
答案 1 :(得分:2)
为了保存新自定义字段的值,您需要向提交数组添加第二个提交项,例如:
$form['#submit'][] = 'misc_system_settings_form_submit';
然后添加一个函数来处理提交,例如:
function misc_system_settings_form_submit($form_id, $form_values) {
// Handle saving of custom data here
variable_set('access_denied_message', $form_values['values']['custom_access_denied_message']);
}
答案 2 :(得分:1)
该功能应为 mymodule_form_alter ,而不是 mymodule_hook_form_alter