ฉันใช้drupal_get_form('event_signup_form')
เพื่อฝังฟอร์มที่กำหนดเองของฉันไว้ในบล็อก ฟอร์มกำลังถูกเรนเดอร์ตามที่ตั้งใจ แต่การส่งแบบฟอร์มไม่ได้ก่อให้เกิดอะไร
ฟังก์ชั่นรูปแบบของตัวเองเรียกว่าevent_signup_form($form, &$form_state)
และฟังก์ชั่นส่งเรียกว่าevent_signup_form_submit($form, &$form_state)
แต่มันไม่ได้ถูกเรียก
ฉันใช้hook_block_viewเพื่อแสดงแบบฟอร์ม:
function event_block_view($delta = '') {
$blocks = array();
if ($delta ...) {
$blocks['content'] = drupal_render(drupal_get_form('event_signup_form'));
}
}
ฉันจัดการเพื่อให้การทำงาน - นี่คือวิธี (ต้นขั้ว):
function hook_block_view($delta = '') {
$blocks['content'] = drupal_render(drupal_get_form('event_signup_form'));
}
function event_signup_form() {
// Register form submit handler, same goes for validation handler
$form['#submit'][] = 'event_signup_form_submit';
return $form;
}
function event_signup_form_submit($form, &$form_state) {
// This is now triggered
}