Как спрятать поле "Default value" на странице настройки поля?

Главные вкладки

Аватар пользователя smallredstone smallredstone 29 июня 2012 в 8:35

Сделал модуль, который добавляет новое поле (карту с нарисованным на ней путем).

На странице редактирования свойств поля (admin/structure/types/manage/MY_TYPE/fields/MY_FIELD) есть пункт "Значение по умолчанию" ("Default value"), который для моего поля выглядит совершенно не к месту.

Как его спрятать?

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 29 июня 2012 в 9:03

Возможно это фишка ядра?!
А...так к этой форме через hook_alter_form прицепитесь и снесите это поле.
Или вообще CSS`кой спрячьте.

Аватар пользователя smallredstone smallredstone 29 июня 2012 в 9:37

Надо же, пожаловался на форуме и почти сразу вроде решил проблему.

Алгоритм для интересующихся:

  • сообразил, что это все идет из модуля Field UI
  • повтыкал в код модуля Field UI
  • наткнулся на функцию field_ui_default_value_widget в функции field_ui_field_edit_form, которая вызывалась в случае field_behaviors_widget('default value', $instance) == FIELD_BEHAVIOR_DEFAULT
  • изучил функцию field_behaviors_widget
  • добавил 'behaviors' => array('default value'=> FIELD_BEHAVIOR_NONE) в hook_widget_info для моего поля

Так сразу и не сообразишь.