Tôi có một trang web có chủ đề chính và một chủ đề "nhỏ" khác được sử dụng thông qua mô-đun tùy chỉnh với trình đàm phán chủ đề, được xác định theo loại nút. Các trang sử dụng chủ đề nhỏ bao gồm một biểu mẫu web, trong một khối.
Các trang chủ đề nhỏ dường như hiển thị chính xác, bao gồm cả biểu mẫu web, nhưng trong nhiều trường hợp sau khi điền vào biểu mẫu, nội dung gửi không được gửi (bảng không đăng nhập và không có xác nhận).
Có một số trang sử dụng chủ đề này, trong một trang nó dường như xảy ra không nhất quán (đôi khi biểu mẫu được gửi và đôi khi không) và trong tất cả các trường hợp khác, nó nhất quán - chỉ được gửi nếu tôi làm mới trang (CTRL+F5), nếu không thì không được gửi .
Biểu mẫu web trong trang web chủ đề chính được gửi mà không gặp bất kỳ sự cố nào.
Sự cố này bắt đầu xảy ra sau khi nâng cấp lên Drupal 9 và sử dụng Webform 6.1.0.
Mã của tôi ở bên dưới. Bất cứ sự giúp đỡ nào cũng được đánh giá cao! Cảm ơn bạn :)
Mã chủ đề:
Đây là mã được sử dụng cho khối, nằm trong tệp chủ đề của tôi:
function minitheme_pre process_page(&$variables) {
// mã mẫu
$form_block_id = 'webform_8';
$block = \Drupal\block\Entity\Block::load($form_block_id);
$variables['short_contact'] = \Drupal::entityTypeManager()
->getViewBuilder('khối')
->view($block);
}
Và sau đó được thêm vào page.html.twig:
{{ short_contact }}
Mã mô-đun:
Và đây là tập tin dịch vụ:
# Tệp dịch vụ mô-đun change_theme.services.yml
dịch vụ:
change_theme.theme.negotiator:
lớp: Drupal\change_theme\Theme\ThemeNegotiator
thẻ:
- { name: theme_negotiator, priority: 1000 }