【发布时间】:2009-07-30 18:30:54
【问题描述】:
我需要一个允许同时创建多个相关节点的表单。所有节点都涉及CCK字段。
我希望尽可能/实用地使用 CCK 的内置验证、提交、输入小部件和安全功能。
在 Drupal 6 中实现此目的的最佳方法是什么?是否有“最佳实践”或文档?
我可以看到以下 3 种可能性。我很想就这些方法是否可行,或者是否有更好的选择提供反馈。
1.
- 从内容类型 foo 的标准节点创建表单开始。
- 通过添加内容类型栏的字段来修改表单,使用钩子form_alter [可以直接插入内容类型栏的cck小部件吗?]
- 在提交表单时使用自定义提交处理程序创建 bar 类型的节点 [可以调用标准的 cck 处理程序吗?还是我需要“手动”构造节点对象,进行自己的验证,然后使用 node_save?]
2.
- 创建一个新的自定义表单,用于连接相关内容类型的“正常”节点创建表单。
- 然后根据需要使用钩子 form_alter 修改表单。
- 允许标准 cck 提交处理程序完成创建节点的工作。
3.
- 从头开始创建自定义表单
- 在我自己的提交处理程序中创建节点,使用节点准备、节点保存等。
如果找到documentation on re-using the standard node creation form,但是没有提到同时创建多个节点。
使用钩子 nodeapi 和钩子 form_alter 记录在 advomatic 网站上的一篇文章中,但特定方法 descube 似乎需要使用“虚拟”字段污染其中一种内容类型。
非常感谢您的帮助!
【问题讨论】:
-
最好告诉我们您希望额外的节点如何。您是要复制同一个节点,还是应该用户一次输入多个节点的值。
-
感谢您的回复!用户将为 2 个不同的节点(每个不同的内容类型)输入值。节点“bar”将包含一个文件字段。节点“foo”将包含一个链接回节点“bar”的节点引用字段。两者都将包含一些文本字段。节点“bar”还将包括分类模块中的位置字段和词汇表。
标签: drupal cck drupal-fapi drupal-forms