php - 可以更改先前提交回调的 $form_state['redirect'] 吗?
问题描述
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'] 到用户个人资料页面,我想改变它并重定向到关于页面而不覆盖原始提交回调函数。这可能吗?目前 $form_state[我给出的“重定向”] 不起作用。如何取消设置并重定向到关于页面?
解决方案
form_alter
我有类似的问题,但我通过在 template.php 中编写我的函数来修复它,如下所示:
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
}
推荐阅读
- python - Python中Matplotlib中日期时间的错误年份
- python - 如何使用带有 oAuth 2.0 的 Basecamp 2 API 作为最终用户发送评论
- http - HTTP 403 禁止消息格式
- reactjs - 有没有办法在 React 中将 API 数据从一个文件导入另一个文件?
- rust - 我收到“parquet-schema:找不到命令”,尽管我已经完成了 cargo install parquet
- windows - Windows 上的 UIautomation:如何获取窗口元素的元素名称(缩放音频图标)
- amazon-web-services - 保留 Registrar 的 DNS 服务但指向 AWS 资源?
- haskell - 如何修改这个 Haskell 函数,这样我就不必导入 Data.Bool 并且只使用前奏函数?
- python - 为趋势和预测添加不同的阴影颜色,并在区域上添加文本
- python - Python - 检查驱动器是否已安装不工作