我需要在登錄表單和註冊表單中放入同一頁面。我正在使用Symfony 3.2和FOS User Bundle。Symfony3在FOSUserBundle上的一個模板中登錄並註冊表單
我發現這一點:How to merge login and register form in one template on FOSUserBundle
這是我第一次的做法,但有一個問題。在驗證錯誤時,頁面被重定向到另一條路線(僅顯示提交表單的模板)。問題在於SecurityController和RegistrationController不知道哪個控制器會呈現樹枝中的兩個fos控制器,它們只是顯示錶單模板。通過這種方法,我無法重寫fos控制器顯示的模板來顯示主模板,因爲會產生無限遞歸。
我試着覆蓋fos控制器對錶單的驗證錯誤進行重定向,但重定向會使驗證消息丟失。
我也嘗試將請求轉發到兩個FOS SecurityController和這個RegistrationController(是這樣的:http://symfony.com/doc/current/controller/forwarding.html),但在登錄的檢查行動,我得到: 的RuntimeException「你必須配置支票路徑通過使用防火牆來處理form_login在您的安全防火牆配置中。'。它已經被配置並正在工作,但直接將請求轉發給控制器似乎打破了它(我無法弄清楚登錄檢查是如何進行的,因爲檢查方法只返回運行時異常)
我能想到的最後一個解決方案是在新控制器中創建兩個表單,但我不知道如何手動調用fos用戶登錄檢查(對於註冊,我可以從RegistrationController複製所有registerAction)。
謝謝你的時間。