hook_elements

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

developer/hooks/core.php, строка 450

Версии
5 – 6
hook_elements()

Позволяет модулям определять свои собственные типы элементов Forms API и определять их значения по умолчанию.

Описания элементов, возвращенные этим хуком, будут добавлены к данным из хука hook_form(), и станут значениями по умолчанию для новых элементов. Поэтому в эти описания, кроме ключей, явно описанных ниже, могут содержать любые другие ключи Forms API.

С каждым новым элементом неявно связывается функция темирования с таким же именем, ответственная за преобразование этого элемента в HTML. Для определенного в модуле элемента с именем 'elementtype', стандартная функция темирования должна реализовываться в том же модуле функцией theme_elementtype(). Эту функция темирования, как и любую другую, следует зарегистрировать с помощью хука hook_theme().

Подробнее о создании пользовательских типов элементов можно прочесть на странице http://drupal.org/node/169815.

Возвращаемое значение

Ассоциативный массив, описывающий все определяемые типы элементов. Ключами массива являются названия новых типов элементов, соответствующие им значения (описания каждого нового элемента) в свою очередь являются ассоциативными массивами с такими ключами:

  • '#input': содержит ли элемент значение, или нет (не зависимо от того, отображается ли элемент на форме или скрыт).
  • '#value_callback': имя коллбека, который вызывается для изменения значения поля. Если это поле не указано, то по умолчанию именем этого коллбека считается form_type_имяэлемента_value(). Коллбек получает параметры $element и $edit, и должен вернуть новое значение '#value' для элемента. Если коллбек не определен, в качестве '#value' берется исходное значение, введенное пользователем.
  • '#process': массив коллбеков с параметрами $element, $edit, &$form_state, $complete_form.
  • '#after_build': массив коллбеков с параметрами $element и &$form_state.
  • '#validate': массив коллбеков с параметрами $form и &$form_state.
  • '#element_validate': массив коллбеков с параметрами $element и &$form_state.
  • '#pre_render': массив коллбеков с параметром $element.
  • '#post_render': массив коллбеков с параметрами $content и $element.
  • '#submit': массив коллбеков с параметрами $form и &$form_state.

Связанные темы

Код

<?php
function hook_elements() {
  $type['filter_format'] = array('#input' => TRUE);
  return $type;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему