3

我一直在浏览drupal 文档和论坛,但这有点令人生畏。如果有人有一种简单或直接的方法可以在管理部分的站点信息页面中添加字段,我将非常感激。

作为背景,我只是想添加用户可自定义的字段站点范围的字段/值。

4

3 回答 3

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)

于 2009-06-12T00:13:01.233 回答
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']);
}
于 2012-01-12T16:24:21.690 回答
1

该函数应该是mymodule_form_alter而不是mymodule_hook_form_alter

于 2010-09-09T08:38:12.763 回答