Drupal 7,使用ImageField和Textarea创建小部件

时间:2011-09-25 08:07:41

标签: drupal drupal-7

任何人都可以帮我弄清楚如何创建一个小部件(Field API),它将包含一个图像(我想成为一个ImageField)和Drupal 7中的textarea? 不幸的是我找不到任何教程如何在谷歌上这样做。 谢谢!

4 个答案:

答案 0 :(得分:7)

我没有这方面的教程,但是看看Drupal Examples Module,在field_example内有一个模块,里面有你需要的所有信息。

在一个非常基础的层面上你想要这样做:

  1. 在模块的.install文件中实施hook_field_schema(),以定义要在字段表中保留的列(可能是文件ID(fid),图像的替代文本,标题图像的文本和案例中文本区域的内容。)
  2. 实施hook_field_info()以定义您的字段类型。
  3. 实施hook_field_is_empty()以便Drupal知道某个字段的特定实例是空的,并且可以在保存实体时将其删除。
  4. 实施hook_field_formatter_info()告诉Drupal您可以显示字段内容的不同方式。
  5. 实施hook_field_formatter_view以准确定义如何输出步骤4中定义的字段格式化程序。
  6. 实施hook_field_widget_info以定义您所在字段的不同输入窗口小部件。
  7. 实施hook_field_widget_form以定义构成您的字段小部件的元素。
  8. 一旦你完成了所有这些环节(它实际上并不需要很长时间才能实现,大多数函数只需要几行代码),启用模块并开始向实体添加新字段!

答案 1 :(得分:1)

你应该从这2个钩子开始创建小部件。 那么你应该开始创建复合字段

hook_field_widget_info() hook_field_widget_form(& $ form,& $ form_state,$ field,$ instance,$ langcode,$ items,$ delta,$ element)

这里有一些创建自定义字段和小部件的链接 http://www.phase2technology.com/node/1495/ http://drupal.org/project/dnd_character

答案 2 :(得分:1)

很抱歉没有关闭此内容。但真正的答案是使用Field Collection模块 - drupal.org/project/field_collection。您可以为此添加多个字段。当我问这个问题时,我是D7和D6的新手,我们不得不手工编写。伟大的模块!

答案 3 :(得分:0)

试着看看这个tutorial。大多数其他作家专注于听起来很聪明,这个有截图,非常简洁明了。