Ergebnis 1 bis 3 von 3

Thema: Controller::redirect() funktioniert nur im Debugmodus

  1. #1
    Contao-Nutzer
    Registriert seit
    27.09.2022.
    Beiträge
    10

    Standard Controller::redirect() funktioniert nur im Debugmodus

    Ich habe ein FrontendController, der sich von AbstractFrontendModuleController ableitet. In der getResponse() Funktion ist eine Weiterleitung integriert, die im Debugmodus funktioniert, ohne aber überhaupt nicht. Dieser Redirect wird angesteuert, sobald ein Formular im Frontend ausgefüllt und abgeschickt wird (hier nur Beispiel, der aber auch nicht funktioniert).

    PHP-Code:

    use Contao\CoreBundle\Controller\FrontendModule\AbstractFrontendModuleController;
    use 
    Contao\PageModel;
    use 
    Contao\Template;
    use 
    Contao\Controller;
    use 
    Symfony\Component\HttpFoundation\Request;
    use 
    Symfony\Component\HttpFoundation\Response;

    class 
    meinFrontendModuleController extends AbstractFrontendModuleController {

      public const 
    TYPE 'tl_mein_module';

      
    /**
       * get response method
       * 
       * @param Template $template
       * @param ModuleModel $model
       * @param Request $request
       * @return Response
       */
      
    protected function getResponse(Template $templateModuleModel $modelRequest $request): Response {
        
    Controller::redirect('https://www.contao.org'); 
      }

    Im Prod Log erhalte ich folgendes:
    Code:
    [2022-10-27T11:40:53.033937+00:00] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
    [2022-10-27T11:40:53.043137+00:00] request.CRITICAL: Uncaught PHP Exception RuntimeException: "Error when rendering "https://meine_url.de/_fragment?_hash=dVw4L4naoxr1TCkpMR1jtRucGuoVaHnIwEMGo1XEnNo%3D&_path=_scope%3Dfrontend%26moduleModel%3D1%26section%3Dmain%26pageModel%3D2%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.frontend_module.mein_modul" (Status code is 303)." at .../vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php line 99 {"exception":"[object] (RuntimeException(code: 0): Error when rendering \".../_fragment?_hash=dVw4L4naoxr1TCkpMR1jtRucGuoVaHnIwEMGo1XEnNo%3D&_path=_scope%3Dfrontend%26moduleModel%3D1%26section%3Dmain%26pageModel%3D2%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.frontend_module.mein_modul\" (Status code is 303). at .../vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php:99)"} []
    Was mache ich falsch?

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Controller::redirect brauchst du da nicht. Einfach nur:
    PHP-Code:
    return new RedirectResponse(
    Poste außerdem mal die Service Config deines Controllers - du scheinst den Renderer auf esi gestellt zu haben. Ist das Absicht?
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    27.09.2022.
    Beiträge
    10

    Standard

    Vielen Dank, "renderer: esi" war das Problem, den wir nicht wirklich gebraucht haben.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •