drupal_get_form 页面回调用法

标签 drupal

function example_menu() {
  $items['admin/config/example'] = array(
    'title' => 'Example',
    'description' => 'example configuration',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('example_admin_settings'),
    'access arguments' => array('administer example'),
    'file' => 'example.admin.inc',
    'file path' => drupal_get_path('module', 'example'),
  );
  return $items;
}

在上面的代码中,我很困惑它是如何工作的。页面回调是 drupal_get_form,页面参数是 example_admin_settings。我的问题是这究竟是如何工作的?

我知道 drupal_get_form 可能最终会调用返回 system_settings_form 的 example_admin_settings。有人可以指出我正确的文档吗?

最佳答案

你走在正确的道路上。

当您访问 admin/config/example , drupal_get_form ('example_admin_settings')被执行。 example_admin_settings()本身将返回一个数组,该数组的内容基于 form api , 就像是:

$form['name'] = array(
    '#type' => 'input',
    '#title' => 'Insert your name here: ',
);
$form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Submit',
);

return $form;

Drupal 将自动为您呈现和输出表单。
另外,考虑在 https://drupal.stackexchange.com/ 上发布关于 Drupal 的下一个问题。 .

关于drupal_get_form 页面回调用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7675234/

相关文章:

drupal - 在 Drupal 6 中包含特定节点的 CSS 或 Javascript 文件

php - 表单提交后 Drupal 7 重定向到特定页面(选项卡)

php - 在 drupal 中覆盖内容页面的更好方法

Drupal 8 Organic Groups 替代方案?

Drupal:列出内容类型和内容计数

html - 如何在 CSS 中包装复选框表单元素?

drupal mailchimp 事件内容部分缺失

Drupal - 使用新字段更新内容类型不会更新现有内容

Drupal module_invoke() 和 i18n

drupal - 如何使用 module_load_include 重用 Drupal 模块代码