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/