我为基于 Drupal 的 Web 应用程序构建了一个“快速链接”下拉选择框。选择框被实现为标准的 Drupal 表单,它出现在站点的所有页面上。当用户选择一个选项并提交表单时,我想将用户重定向到适当的页面,但让他们在完成后返回到原始页面。
例如,用户在 node/5 上,并选择了一个快速链接,将他们带到另一个表单。当他们完成此表格后,我希望他们返回到 node/5。
我已经在系统的其他部分实现了这一点,使用 drupal_get_destination 将 ?destination=node/5 查询字符串参数附加到目标表单,这很好用。但是,在我的快速链接表单提交处理程序中,我正在设置 form_state['redirect'] 来设置目标页面,如果我添加 ?destination= 参数,它会被 URL 编码,因此在我的目标时不会被拾取表单提交。
function dh_seo_quick_links_form_submit($form, &$form_state) {
$form_state['redirect'] = $form['#link_targets'][$link].'?'.drupal_get_destination();
}
我是不是完全走错了路?这种重定向甚至可能吗?我可以直接用 $_REQUEST 变量做一些聪明的事情吗?