可以更改先前提交回调的 $form_state['redirect'] 吗?
It is possible to alter the $form_state['redirect'] of a previous submit callback?
function module_form_alter(&$form, $form_state, $form_id) {
if($form_id == "user_login"){
$form['#submit'][] = 'module_userlogin_callback';
}
}
function module_userlogin_callback($form, $form_state){
global $base_url;
$current_path = $base_url . '/' .'about';
$form_state['redirect']=$current_path;
}
原来的提交回调 user_login_submit 已经有一个 $form_state['redirect'] 到用户个人资料页面,我想改变它并重定向到关于页面覆盖原始提交回调 function.is 可能吗?目前我给出的 $form_state['redirect'] 不是 working.how 我可以取消设置并重定向到关于页面吗?
我遇到了类似的问题,但我通过在 template.php 中编写 form_alter
函数来修复它,如下所示:
your_theme_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'user_login') {
$form['#submit'][] = 'your_theme_userlogin_callback';
}
}
function your_theme_userlogin_callback(&$form, &$form_state) {
$form_state['redirect'] = '$url';//your redirect url path
}
function module_form_alter(&$form, $form_state, $form_id) {
if($form_id == "user_login"){
$form['#submit'][] = 'module_userlogin_callback';
}
}
function module_userlogin_callback($form, $form_state){
global $base_url;
$current_path = $base_url . '/' .'about';
$form_state['redirect']=$current_path;
}
原来的提交回调 user_login_submit 已经有一个 $form_state['redirect'] 到用户个人资料页面,我想改变它并重定向到关于页面覆盖原始提交回调 function.is 可能吗?目前我给出的 $form_state['redirect'] 不是 working.how 我可以取消设置并重定向到关于页面吗?
我遇到了类似的问题,但我通过在 template.php 中编写 form_alter
函数来修复它,如下所示:
your_theme_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'user_login') {
$form['#submit'][] = 'your_theme_userlogin_callback';
}
}
function your_theme_userlogin_callback(&$form, &$form_state) {
$form_state['redirect'] = '$url';//your redirect url path
}