12

ここのドキュメントに従っています: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_templates.rst

私は子バンドルを作成してテンプレートをオーバーライドすることを選択したので、私のバンドルには

class MyBundle extends Bundle
{
    //declare bundle as a child of the FOSUserBundle so we can override the parent bundle's templates
    public function getParent()
    {
        return 'FOSUserBundle';
    }

}

バンドルに次のファイルを追加しました

MyBundle
      \Resources
               \views
                     \Security
                      login.html.twig

ドキュメントに記載されている FOS バンドル構造の一致

login.html.twig

{% extends 'AnotherBundle::layout.html.twig' %}

{% block title %}Log In{% endblock %}

{% block content %}
    {% block fos_user_content %}{% endblock %}
{% endblock %}

ログイン ページに移動すると、ヘッダーは正常に読み込まれますが、ログイン フォームがありません。何が問題なのですか?

4

2 に答える 2

17

ログイン フォームをレンダリングするコードを記述していないためです。

open /vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/views/Security/login.html.twigfos_user_contentブロック内のコードを customにコピーしlogin.html.twig、ページをリロードすると、フォームが表示されます。

フォームをカスタマイズする場合は、コピーしたコードを書き直してください。

于 2013-11-06T02:53:51.057 に答える
-3

ネストされたブロックがある場合、どのブロックを閉じるかを明示的に伝える必要があります。だから、これを試してください:

{% block content %}
    {% block fos_user_content %}{% endblock fos_user_content %}
{% endblock content %}
于 2013-11-05T17:14:12.153 に答える