Постоянно вылетают из головы аргументы функций из 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) {
// ...
}
Комментарии
Вместо return drupal_get_form('module_form', $foo); удобней сразу в hook_menu указать drupal_get_form в качестве callback функции:
В друпал 7 у конструктора форм поменяли сигнатуру, теперь запомнить легче, везде одинаково ... ($form, &$form_state).
Добавить комментарий