#drupal #migration #widget #field
#drupal #миграция #виджет #поле
Вопрос:
Я работаю над проектом, в котором мне нужно перенести пользовательское поле, созданное в d6, на d7. Это поле реализовывало hook_widget.
Кто-нибудь может сказать мне замену для этого в drupal 7?
Спасибо
Ответ №1:
hook_widget()
была переименована в hook_field_widget_form()
в Drupal 7. Для этого также есть несколько новых аргументов.
http://api.drupal.org/api/drupal/modules—field—field.api.php/function/hook_field_widget_form/7
<?php
/**
* Implements hook_field_widget_form().
*/
function number_field_widget_form(amp;$form, amp;$form_state, $field, $instance, $langcode, $items, $delta, $element) {
// use = to avoid overwriting incoming $element
$element['value'] = array(
// Fill in $element.
);
return $element;
}
/**
* Implements hook_field_widget_error().
*/
function number_field_widget_error($element, $error, $form, amp;$form_state) {
form_error($element['value'], $error['message']);
}
?>
Комментарии:
1. Вам нужно будет реализовать
hook_field_widget_info()
, прежде чем что-либо из этого заработает