在Drupal 7中如何在预订页面后导航URL

时间:2018-06-20 16:58:43

标签: drupal drupal-7 url-routing drupal-modules drupal-content-types

我有内容类型的预订,并在drupal 7中创建了预订页面,并且同一页面显示错误,确认和预订页面。我正在尝试使用相同的预订内容类型分成三个不同的页面(节点)。我正在使用自定义模块进行预订。

预订后,我想重定向到xyz.com/booking-confirm,如果它成功预订,并且错误xyz.com/booking-error,并且当前使用xyz.com/booking进行所有操作。

我应该使用标题重定向它吗?

header('Location: /booking-confirm'); 
header('Location: /booking-error'); 

我应该将它们挂在template.php中吗?

function MYMODULE_user_register_form($form, &$form_state) {
  $form_state['redirect'] = 'path/to/somewhere';
}

我不确定,这是找出答案的正确选项。我想使用相同的内容类型拆分URL。解决问题的任何方法。

1 个答案:

答案 0 :(得分:1)

保留模板和标题。

在自定义模块中使用钩子hook_FORM_validate()和hook_form_submit:

form_submit示例:

function your_booking_form_submit(&$form, &$form_state) {
$form_state['redirect'] = '/thank-you-page';
}

function your_booking_form_validate($form, &$form_state) {
// if criteria is not met (user entered wrong data or whatever the validation you do) {
$form_state['redirect'] = '/error-page';
}
}