Am un site web cu o temă principală și o altă temă „mini” care este utilizată printr-un modul personalizat cu un negociator de teme, determinat de tipul de nod. Paginile care folosesc tema mini includ un formular web, într-un bloc.
Mini-paginile tematice par să se afișeze corect, inclusiv formularul web, dar în multe cazuri după completarea formularului, trimiterea nu este trimisă (tabelele nu sunt conectate și nicio confirmare).
Există mai multe pagini care folosesc această temă, într-una pare să se întâmple inconsecvent (uneori formularul este trimis și alteori nu) și în toate celelalte cazuri este consecvent - trimis doar dacă reîmprospăt pagina (CTRL+F5), altfel nu este trimis .
Formularele web din site-ul tema principal sunt trimise fără probleme.
Această problemă a început după actualizarea la Drupal 9 și după utilizarea Webform 6.1.0.
Codul meu este mai jos. Orice ajutor ar fi foarte apreciat! Mulțumesc :)
Cod tema:
Acesta este codul folosit pentru bloc, aflat în fișierul meu tema:
funcția minitheme_preprocess_page(&$variabile) {
//codul formularului
$form_block_id = 'webform_8';
$bloc = \Drupal\block\Entity\Block::load($form_block_id);
$variables['short_contact'] = \Drupal::entityTypeManager()
->getViewBuilder('bloc')
->view($bloc);
}
Și apoi adăugat în pagina.html.twig:
{{ short_contact }}
Cod modul:
Și acesta este fișierul de servicii:
# Fișierul serviciilor module change_theme.services.yml
Servicii:
change_theme.theme.negotiator:
clasa: Drupal\change_theme\Theme\ThemeNegotiator
Etichete:
- { nume: theme_negotiator, prioritate: 1000 }