编程语言
首页 > 编程语言> > php – Drupal 7中的多个表单

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