Drupal 7中的多个表单

Big*_*Bob 3 php forms drupal-7

我希望在我的网站上添加一个"待办事项"列表,以便登录用户可以维护一个简单的任务列表.从概念上讲,我想显示一组输入框,允许用户编辑任何现有任务,添加新任务或删除现有任务.每个输入框都是自己的表单,以便可以逐个提交更改.我是drupal的新手,似乎无法在网上找到任何可以展示如何实现这一目标的资源.

chx*_*chx 7

你需要编写一个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;
}
Run Code Online (Sandbox Code Playgroud)

当然,如果形式不同,则省略foo_forms,只是写的foo_form_0,foo_form_1等等等等.