3

数日前にここに問題を投稿しました: FOSUserBundle:ログインフォームの埋め込みとそのテンプレートの選択

しかし、それはかなり複雑です。この問題の背後には単純なルートの問題があると思います。そのため、並行トピックを作成し、行ったすべての変更を削除して、新規インストールから開始することをお勧めします。

そこで、FOSUserBundle をインストールします。Web サイトのいくつかのページを含む WelcomeBundle があり、FOSUserBundle の User Entity のみを含む新しい UserBundle も作成します (何もオーバーライドしません)。

rsWelcomeBundle の index.html.twig に、次の簡単なコードを追加しました。

{% extends "rsWelcomeBundle::layout.html.twig" %}

{% block title "Page d'accueil" %}

{%  block body %}
    <div class="span6">
        <div class="well">
            <h2>Présentation du jeu</h2>
            <a href="{{ path('rsWelcomeBundle_homepage_inscription') }}" class="btn ">Je m'inscris !</a></p>
        </div>
    </div>
    <div class="span6">
        <div class="well">
            {% render "FOSUserBundle:Security:login" %}
        </div>
    </div>

{% endblock %}

そして、私は常にこのエラーがあります:

1 行目の rsWelcomeBundle:Homepage:index.html.twig で、テンプレートのレンダリング中に例外がスローされました (「"GET Security:login" のルートが見つかりません」)。

レンダリング部分にこの行を配置すると、機能します。

{% render(controller("FOSUserBundle:Security:login")) %}

しかし、なぜ ??ドキュメントでは、"render(controller".Why I can't use directly : render "FOSUserBundle:Security:login" ?

app/config/routing.yml には次のものがあります。

tuto_welcome:
    resource: "@rsWelcomeBundle/Resources/config/routing.yml"
    prefix:   /

fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"

fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile

fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register

fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting

fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /profile

UserBundle には、routing.yml がありません。WelcomeBundle では、これを routing.yml に持っています:

rsWelcomeBundle_homepage:
    pattern:  /
    defaults: { _controller: "rsWelcomeBundle:Homepage:index" }

この問題を解決するのに 2 日かかりました。

みんな本当にありがとう!

4

2 に答える 2

0

{% render url('your url') %}代わりに使用してみてください。

于 2013-07-20T02:04:56.130 に答える