Tôi đã tìm ra nó, hy vọng điều này sẽ giúp người khác có câu hỏi tương tự.
Thay vì làm một $formstate->setRebuild();
bên trong gửi biểu mẫu
phương pháp, tôi đã đổi nó thành
$form_state->setRedirect(
'sliker_drupal_backend.browser',
[],
[
'truy vấn'=>[
'logic'=>$form_state->getValue('logic'),
'items'=>$form_state->getValue('items'),
'cụm từ'=>$form_state->getValue('cụm từ'),
'khả năng hiển thị'=>$form_state->getValue('khả năng hiển thị'),
'ids'=>$form_state->getValue('ids'),
],
]);
các setRedirect()
phương thức có ba đối số:
- Tên máy định tuyến
- Đối số (để điền vào "chỗ giữ chỗ" trong đường dẫn tuyến đường)
- Tùy chọn là bất kỳ tùy chọn nào có thể được chuyển đến một
\Drupal\Core\Url
Bằng cách tìm kiếm mã, các tùy chọn được tìm thấy là một mảng kết hợp và các khóa có thể là bất kỳ:
- 'truy vấn': Một mảng các cặp khóa/giá trị truy vấn (không có bất kỳ mã hóa URL nào) để nối thêm vào URL.
- 'đoạn': Mã định danh đoạn (có tên là neo) để thêm vào URL. Không bao gồm ký tự '#' ở đầu.
- 'tuyệt đối': Mặc định là FALSE. Có buộc đầu ra là một liên kết tuyệt đối hay không (bắt đầu bằng http :). Hữu ích cho các liên kết sẽ được hiển thị bên ngoài trang web, chẳng hạn như trong nguồn cấp dữ liệu RSS.
- 'thuộc tính': Một mảng liên kết gồm các thuộc tính HTML sẽ được thêm vào thẻ liên kết nếu bạn sử dụng lớp \Drupal\Core\Link để tạo liên kết.
- 'ngôn ngữ': Một đối tượng ngôn ngữ tùy chọn được sử dụng để tra cứu bí danh cho URL. Nếu $options['language'] bị bỏ qua, nó sẽ mặc định là ngôn ngữ hiện tại cho loại ngôn ngữ LanguageInterface::TYPE_URL.
- 'https': Liệu URL này có trỏ đến một vị trí an toàn hay không. Nếu không được xác định, lược đồ hiện tại sẽ được sử dụng, vì vậy người dùng sẽ tiếp tục sử dụng HTTP hoặc HTTPS tương ứng. TRUE thực thi HTTPS và FALSE thực thi HTTP.
Sau đó, tôi đã cập nhật logic của mình trong bản dựng biểu mẫu để tìm kiếm các tham số truy vấn và sử dụng thông tin đó nếu có.
Nhìn thấy https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Form!FormState.php/feft/FormState%3A%3AsetRedirect/8.9.x để biết thêm thông tin về setRedirect()
.