0

FOSUser ログインフォームをオーバーライドする 2 つの方法を読み上げました。

  1. ドキュメントにテンプレート ファイルを配置するapp/Resources/
  2. 子 Bundle Docsで Controller をオーバーライドする

しかし、Symfony Flexではプロジェクト構造が大幅に変更されました。

オプション#1について:app/Resourcesフォルダーはもうありません。テンプレートを に保存し/templatesます。

オプション #2 について: AppBundle はもうありません。

ここで、FOSUser のセキュリティ コントローラを拡張しました。

<?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);
    }
}

アプリケーションは引き続き FOSUserBundle フォームをレンダリングします。どうにかして上記のコントローラーを登録しなければならない気がします。FOSUser 構成には、そのためのディレクティブはありません。これはどのように達成できますか?

4

2 に答える 2

2

Symfony 4 では、ファイルを /templates/bundles/FosUserBundle に置くだけです。

それが役に立てば幸い。

于 2017-12-28T15:52:26.813 に答える
-1

良い道をたどったと思いますが、設定を変更するのを忘れていました。fosuser に別のフォーム ファイルを使用するように指示する必要があります。

このファイルの106行目と109行目を確認してください:)

私は flex でこのソリューションをチェックしませんでしたが、私の友人が symfony 4 でチェックしたところ、問題なく動作しました。

于 2017-10-30T10:59:39.810 に答える