我有内容类型的预订,并在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。解决问题的任何方法。
答案 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';
}
}