Tôi có biểu mẫu, là biểu mẫu quản trị chặn mặc định. Đó là dạng chuẩn mà mọi người sử dụng để chỉnh sửa nội dung khối, khả năng hiển thị, v.v. Khi người dùng lưu biểu mẫu, drupal chuyển hướng người dùng đến trang quản trị khối.Chuyển hướng tùy chỉnh sau khi gửi biểu mẫu
Bây giờ, tôi muốn đưa người dùng đến một trang khác, ví dụ: trang chủ, sau khi gửi biểu mẫu chặn quản trị. Có một số cách để đạt được điều này, nhưng drupal khuyến cáo sử dụng phương pháp hook_alter_form như mô tả here
Tôi đã viết một tập tin .module gọi là 'formdest' chứa sau:
function formdest_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'block-admin-configure':
$form_state['redirect'] = '/home';
break;
}
}
và tập tin .info để đi cùng với nó:
; $Id: custom.info,v 1.0 2011/01/01 21:55:00 author Exp $
name = formdest
description = form destination
package = Other
core = 6.x
version = "6.x"
project = "custom"
datestamp = "1229018427"
Mô-đun tùy chỉnh của tôi hiển thị trong danh sách mô-đun và tôi có thể kích hoạt nó, do đó kích hoạt chuyển hướng. Nhưng khi tôi kiểm tra nó, drupal vẫn đưa tôi đến trang quản trị khối thay vì đến trang chủ ..
Không có thông báo lỗi trong cả bản ghi hệ thống hoặc tường lửa, vì vậy tôi hơi thất bại. Bất kỳ bạn mã hóa các vị thần có bất kỳ ý tưởng?
cảm ơn đề xuất Yorirou, tôi vừa sửa đổi mô-đun và thêm trình xử lý gửi. Nhưng chuyển hướng vẫn không đưa tôi về nhà, và một lần nữa không có lỗi. Tôi bắt đầu nghĩ rằng tôi có thể sử dụng id dạng sai hoặc một cái gì đó như thế, sẽ làm một số sửa lỗi hơn –
chỉnh sửa - Phải, đoạn mã của Yorirou đã hoạt động (các phương pháp trước đây của tôi cũng có vẻ hoạt động), vấn đề là tôi không sử dụng dấu gạch dưới trong id biểu mẫu. Khi tôi thay thế dấu gạch nối với dấu gạch dưới, mọi thứ hoạt động như một nét duyên dáng. –
mẹo nhỏ có thể tiết kiệm thời gian: nếu chuyển hướng biểu mẫu không hoạt động, hãy đảm bảo rằng $ form_state ["rebuild"] = FALSE; –