php – Drupal 7中的多个表单
作者:互联网
我希望在我的网站上添加一个“待办事项”列表,以便登录用户可以维护一个简单的任务列表.
从概念上讲,我想显示一组输入框,允许用户编辑任何现有任务,添加新任务或删除现有任务.
每个输入框都是自己的表单,以便可以逐个提交更改.
我是drupal的新手,似乎无法在网上找到任何可以展示如何实现这一目标的资源.
解决方法:
您需要编写一个页面回调,它会多次调用drupal_get_form.如果同一表单构建器处理表单,则需要实现hook_forms.
function foo_menu() {
$items['foo'] = array(
'page callback' => 'foo_page',
'access arguments' => array('access foo'),
);
return $items;
}
function foo_page() {
for ($i = 0; $i < 10; $i++) {
$build[] = drupal_get_form('foo_form_' . $i, $i);
}
return $build;
}
function foo_forms($form_id, $args) {
if (!empty($args) && $form_id == 'foo_form_' . $args[0]) {
$forms[$form_id]['callback'] = 'foo_form';
}
return $forms;
}
function foo_form($form, $form_state, $i) {
return $form;
}
当然,如果表单不同,则省略foo_forms并只写foo_form_0,foo_form_1等.
标签:php,forms,drupal-7 来源: https://codeday.me/bug/20190726/1543046.html