Drupal 7, Создание виджета с помощью ImageField и Textarea

Может кто-нибудь помочь мне понять, как я могу создать виджет (Field API), который будет содержать изображение (я хочу быть ImageField) и текстовое поле в Drupal 7? К сожалению, я не могу найти учебник, как это сделать в Google. Спасибо!

4 ответа

Решение

Извините, что не закрыли это. но реальный ответ на этот вопрос - использовать модуль Field Collection - drupal.org/project/field_collection. Вы добавляете несколько полей к этому. Когда я задал этот вопрос, я был новичком в D7, а в D6 мы должны были написать это вручную. отличный модуль!

Там нет учебника как такового, о котором я знаю, но посмотрите на модуль примеров Drupal, внутри есть модуль с именем field_example со всей необходимой информацией.

На самом базовом уровне вы хотите сделать это:

  1. Реализуйте hook_field_schema() в вашем модуле .install файл, чтобы определить, какие столбцы будут храниться в таблице полей (вероятно, идентификатор файла (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, чтобы определить элементы, которые будут составлять виджет для вашего поля.

После того, как вы перепрыгнули через все эти циклы (на самом деле это не занимает много времени, большинство функций - это всего лишь несколько строк кода), включите модуль и начните добавлять новое поле к сущностям!

Вы должны начать с этого 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

Попробуйте взглянуть на этот урок. Большинство других писатель сосредотачивается на том, чтобы казаться умным, у этого есть скриншоты и очень ясно и сжато.

Другие вопросы по тегам