2017-09-25 1 views
0

ich auf zwei Arten lesen, die FOSUser Login-Formular außer Kraft zu setzen:Symfony Flex: Überschreiben FOSUser Login-Formular

  1. Platz Vorlagendatei in app/Resources/Docs
  2. Übersteuerung des Controllers in einem Kind Bundle Docs

Mit Symfony Flex änderte sich jedoch die Projektstruktur erheblich.

Wie für Option # 1: Es gibt keine app/Resources Ordner mehr. Ich speichere meine Vorlagen in /templates.

Zu Option # 2: Es gibt kein AppBundle mehr.

Nun erweitert ich FOSUser Sicherheits Controller:

<?php 

namespace App\Controller; 

use FOS\UserBundle\Controller\SecurityController as BaseController; 

class SecurityController extends BaseController 
{ 
    public function renderLogin(array $data) 
    { 
     return $this->render('/Admin/Login/index.html', $data); 
    } 
} 

Die Anwendung macht immer noch die FOSUserBundle Form. Ich habe das Gefühl, dass ich den Avobe-Controller irgendwie registrieren muss. In der FOSUser-Konfiguration gibt es dafür keine Anweisung. Wie kann dies erreicht werden?

+0

Ich denke, Sie sollten auch die Standard/Login-Route überschreiben, versuchen, neue Route mit Pfad "/ Login" auf Ihre renderLogin-Methode auf Ihrem Controller zeigen. –

+0

Haben Sie den Cache gelöscht und die Methode in protected geändert? –

Antwort

1

In Symfony 4, Sie müssen nur die Datei setzen in/templates/Bündel/FosUserBundle

Hoffe, es hilft.

-1

Ich denke, Sie haben den guten Weg gefolgt, aber vergessen, Ihre Konfiguration zu ändern. Sie müssen fosuser anweisen, eine andere Formulardatei zu verwenden.

prüfen this file, Linie 106 & 109 :)

ich diese Lösung nicht mit Flex zu überprüfen, aber ein Freund von mir hat mit symfony 4 und es funktionierte gut.

Verwandte Themen