xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Аргументы основных Form API функций

Опубликовано в

Постоянно вылетают из головы аргументы функций из Form API. На память:

/**
 * Page callback
 */
function module_page_callback($foo) {
  return drupal_get_form('module_form', $foo);
}
 
/**
 * Form. Drupal 6
 */
function module_some_form(&$form_state, $foo) {
  // ...
  $form['#after_build'] = array('module_form_after_build');
  return $form;
}
 
/**
 * Form. Drupal 7
 */
function module_some_form($form, &$form_state, $foo) {
  // ...
  $form['#after_build'] = array('module_form_after_build');
  return $form;
}
 
/**
 * Form after build callback
 */
function module_form_after_build($form, &$form_state) {
  // ...
  return $form;
}
 
/**
 * Form validate
 */
function module_form_validate($form, &$form_state) {
  $values = $form_state['values'];
  // ...
}
 
/**
 * Form submit
 */
function module_form_submit($form, &$form_state) {
  $values = $form_state['values'];
  // ...
}
 
/**
 * Implement hook_form_alter()
 */
function module_form_alter(&$form, &$form_state, $form_id) {
  // ...
}
 
/**
 * Implement hook_form_FORM_ID_alter(). Drupal 6
 */
function module_form_someform_alter(&$form, &$form_state) {
  // ...
}
 
/**
 * Implement hook_form_FORM_ID_alter(). Drupal 7
 */
function module_form_someform_alter(&$form, &$form_state, $form_id) {
  // ...
}
Похожие записи

Комментарии RSS

Вместо return drupal_get_form('module_form', $foo); удобней сразу в hook_menu указать drupal_get_form в качестве callback функции:

function module_menu() {    
  ...
  'page callback' => 'drupal_get_form',
  'page arguments' => array('module_form', 1),
  ...
}

В друпал 7 у конструктора форм поменяли сигнатуру, теперь запомнить легче, везде одинаково ... ($form, &$form_state).

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании