Hallo!
Ist sicherlich nur ein kleiner Fehler aber ich komme hier nicht weiter. Ich habe mir im Backend einen Controller mit eigener Route angelegt, in dem ich ein Formular anzeige. In dem Formular wird eine externe API via REST abgefragt und die ausgewählten Ergebnisse werden dann im zweiten Schritt in eine Tabelle importiert. Mein Aufbau ist grob so:
Das Template erbt von be_main und erweitert nur den main_content:
Im Controller verarbeite ich die Suchanfrage und setze dann ins Template die entsrechenden Daten:Code:{% extends "@Contao/be_main" %} {% block main_content %} <form id="worms-search-form" class="tl_form" method="post"> <div class="formbody"> <input type="hidden" name="FORM_SUBMIT" value="wormsSearch"> <input type="hidden" name="REQUEST_TOKEN" value="{{ contao.request_token }}">
Mein Problem ist, wenn ich das Formular als GET absende und die GET-Werte verarbeite, funktioniert alles. Das Formular wird wie gewünscht nach dem Absenden aktualisiert und das Ergebnis angezeigt.PHP-Code:public function __invoke(Request $request): Response
{
if (Input::post('FORM_SUBMIT') == 'wormsSearch') {
…
}
return $this->render(
'@Contao/backend_worms_import.html.twig',
$parameters
);
}
Bildschirmfoto 2026-06-13 um 12.19.00.png
Setze ich das Formluar und meine Verarbeitung aber auf POST, wird die Seite nach dem Absenden nicht aktualisiert. In den Browser-Devtools sehe ich zwar, dass der Request durchgeht und auch die Seitet mit Status 200 und allen Ergebnissen zurückgegeben wird, sie wird aber nicht angezeigt. Die Suchmaske bleibt einfach stehen. Mir wäre aber lieber, wenn ich es mit POST machen könnte.
Ich vermute, dass ich statt be_main besser ein anderes Template dafür erweitere oder noch irgendetwas anderes angeben muss, damit die Seite aktualisiert wird. Kann mir hier jemand einen Tipp geben?
Eine zweite Frage, wenn ich gerade dabei bin: In einigen anderen Bundles habe ich gesehen, dass die Twig-Templates in Bundles über eine eigene „Kennung“ angesprochen werden. Mein Bundle heißt babelfisch/fossils-bundle und der Namespace ist Babelfisch/FossilsBundle. Alle Versuche von mir, mein Template entsprechend zu laden, funktionierten leider nicht und ich bekomme den Fehler, dass das Template nicht gefunden wurde.
Vermutlich muss hier auch noch etwas registriert werden aber ich finde nicht wo und was. Das Template liegt in:Code:@BabelfischFossilsBundle/backend_worms_import.html.twig @BabelfischFossils/backend_worms_import.html.twig @Babelfisch/backend_worms_import.html.twig
/src/Resources/contao/templates/backend/backend_worms_import.html.twig

Zitieren
