3

我创建了一个自定义模块,它使用 variable_set() 设置系统变量。我希望具有适当权限的人能够通过管理员编辑此变量。我确信有贡献的模块允许您编辑系统变量,但我正在寻找一种方法来将此功能直接包含在我的自定义模块中。我想可能会挂接到“站点信息”管理表单或“文件系统”管理表单,并包含一个文本字段,他们可以在其中编辑此系统变量并将其保存。解决这个问题的最佳方法是什么?

谢谢

4

1 回答 1

2

站点信息表单使用system_settings_form()这意味着您只需将变量作为元素添加到表单中(使用hook_form_alter()或,如下所示hook_form_FORM_ID_alter()),系统将处理保存它。

function MYMODULE_form_system_site_information_settings_alter(&$form, &$form_state) {
  $form['my_variable_name'] = array(
    '#type' => 'textfield', // or whatever element makes sense
    '#title' => t('Title'),
    '#default_value' => variable_get('my_variable_name', '')
  );
}

表格也是如此system_file_system_settings()

于 2012-12-04T18:36:48.403 回答