在不使用CCK字段的情况下将自定义表单数据添加到Drupal模块

时间:2013-01-03 19:57:32

标签: drupal drupal-7 drupal-modules cck

我对Drupal 7很新,所以请耐心等待。我已经使用JQueryUI选项卡创建了一个jQueryUI拖放界面。我的问题是我无法找到正确的钩子将此自定义界面添加到管理界面。像这样(样机)http://onlinemedia.rmcad.edu/sandBox/screenshot/screen-shot.jpg

我发现的所有示例都使用CCK字段。 CCK字段很棒,但它们没有我想要的这种自定义功能或者它可以吗?

非常感谢任何帮助。

Ĵ

3 个答案:

答案 0 :(得分:0)

cck是drupal 6,而不是7.要添加到节点创建表单,您可以使用hook_form_alter或hook_form_ID_alter。 检查表单api文档,以了解如何在任何一个钩子中向表单对象添加内容。

答案 1 :(得分:0)

从您的模型中我了解到您打算将此拖放界面添加到内容类型。

如果是这种情况,我建议您先添加相应的fields。一旦节点被保存,这些将有助于以Drupal方式存储数据。

如果您对收集所需数据的字段感到满意,请创建一个模块并使用hook_form_FORM_ID_alter挂钩通过更改这些字段来集成您的“界面”,即表示层。

答案 2 :(得分:0)

如果您不想添加 CCK / Field 组件来存储数据,那么您可以创建自己的数据库表并将自定义数据存储在那里?

这种方法很长,但我用它对一个非常大而复杂的项目产生了很大影响。

您需要一个带有安装脚本的自定义模块,其中包含自定义数据库表的详细信息。

原谅我,但我不记得改变节点编辑形式的钩子,但是你输入实现 drag-'n'-drop 元素的代码。

然后,您可以在提交节点编辑表单时完全保存设置,但我认为最好实现一些 AJAX 将设置保存到自定义数据库表。因此,当一个组件被放入它的最终安放位置时,您可以使用AJAX将该信息保存到数据库中。

当用户返回编辑该页面时,您只需加载自定义设置并将其应用于 drag-'n'-drop 功能,并且可以看到之前的配置它们。

我希望这是有道理的,它可以帮助你。