drupal - 在 Drupal 中使用单个自定义表单创建多个 CCK 节点

标签 drupal cck drupal-fapi drupal-forms

我需要一个允许同时创建多个相关节点的表单。所有节点都涉及CCK字段。

我想尽可能/实际地使用 CCK 的内置验证、提交、输入小部件和安全功能。

在 Drupal 6 中完成此任务的最佳方法是什么?是否有任何“最佳实践”或文档?

这是我能看到的 3 种可能性。我很想知道这些是否可行,或者是否有更好的选择。

1.

  • 从内容类型 foo 的标准节点创建表单开始。
  • 修改表单,为内容类型栏添加字段,使用钩子(Hook) form_alter [是否可以直接插入内容类型栏的 cck 小部件?]
  • 在提交表单时使用自定义提交处理程序创建 bar 类型的节点 [可以调用标准cck处理程序吗?还是我需要“手动”构造节点对象、进行自己的验证并使用 node_save?]

2.

  • 创建一个新的自定义表单,将相关内容类型的“正常”节点创建表单串联起​​来。
  • 然后使用 hook form_alter 根据需要修改表单。
  • 允许标准的 cck 提交处理程序完成创建节点的工作。

3.

  • 从头开始创建自定义表单
  • 使用节点准备、节点保存等在我自己的提交处理程序中创建节点。

如果找到documentation on re-using the standard node creation form ,但是没有提到同时创建多个节点。

advomatic 网站上的一篇文章中记录了使用 hook nodeapi 和 hook form_alter,但特定方法 descrube 似乎需要用“虚拟”字段污染其中一种内容类型。

非常感谢您的帮助!

最佳答案

关于drupal - 在 Drupal 中使用单个自定义表单创建多个 CCK 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1208460/

相关文章:

drupal cron的最大执行时间

drupal 6 cck字段: is there a easy way to duplicate cck field?

Drupal 哪个更好 : custom table or CCK?

drupal - 是否可以使用常规 HTML 表单作为 Drupal 6.x 自定义模块中 .inc 文件的一部分?

drupal - 在 drupal db_query 中使用大括号 ({}) 表示正则表达式

php - define ('MENU_IS_ROOT' , 0x0001) 和 define ('MENU_IS_ROOT' , 1) 有什么区别?

drupal - 在非 CCK Drupal 表单中“添加另一个项目”

php - 如何在评论表上方添加免责声明?

php - 使用钩子(Hook)表单提交如何阻止从同一提交调用其他函数