【问题标题】:How to navigate the URL after booking page in Drupal 7如何在 Drupal 7 中预订页面后导航 URL
【发布时间】:2018-11-29 21:29:27
【问题描述】:

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

【问题讨论】:

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


    【解决方案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';
    }
    }
    

    【讨论】:

    • 我已经创建了自定义模块并添加了这个模块。但是,它没有成功。感觉,我错过了什么。
    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2022-11-04
    相关资源
    最近更新 更多