0

首先,我是这个项目的新手,它的原始开发是外包的。男孩,这个项目几乎是所有东西的变通方法和非 Drupal 实现的混乱。如果没有跨每个自定义模块的大量工作,这个项目是不可能升级的。开发人员可以使用 CCK 处理他们所做的 95% 的工作,他们将许多表添加到数据库中,并使用 Drupal 表单来填充它们。

我们的客户想要一个新的“画廊”管理界面到这些特殊的桌子之一。我们需要一种方法来拥有一个重复的字段集,例如:

gallery[0][image] // can be either link or url
gallery[0][caption]

Drupal 6 不支持开箱即用的重复字段,所以看起来我必须要么:安装一个模块,要么自己想出一个陪审团操纵的解决方案。但是从我对 Drupal 的了解来看,如果我做得对的话,我应该能够使用常规表单和一些 Javascript 来实现它。

// Just an example, this isn't working code.
$index = 0;

foreach ($gallery as $id => $data) {
  $form['gallery'][$index]['id'] = array(
    '#type'  => 'hidden',
    '#value' => $id,
  );

  $form['gallery'][$index]['image'] = array(
    '#type' => 'upload',
  );

  $form['gallery'][$index]['caption'] = array(
    '#type' => 'textbox',
    '#value' => $data['caption']
  );

  $form['gallery'][$index]['delete'] = array();

  $index += 1;
}

然而,我如何将类似于此的表单与绑定到表单状态的 Javascript“添加更多”链接联系起来?以及如何处理这种表单输入的结果?

4

1 回答 1

1

您可以使用 AHAH 添加动态表单元素。请参阅本教程末尾的动态轮询选项示例:http: //drupalsn.com/learn-drupal/drupal-tutorials/getting-going-ahah-and-drupal-6

于 2013-05-17T05:49:16.033 回答