use*_*964 3 routes symfony fosuserbundle
我几天前在这里发布了一个问题: FOSUserBundle:嵌入登录表单并选择其模板
但它非常复杂,我认为在这个问题背后,可能存在一个简单的路由问题,所以我认为创建一个并行主题,删除我所做的所有修改,并从全新的安装开始是一个好主意.
所以,我安装了FOSUserBundle,我有一个WelcomeBundle,它包含了我网站的几个页面,我还创建了一个新的UserBundle,它只包含FOSUserBundle的用户实体,没有别的(没有任何覆盖).
在我的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 %}
Run Code Online (Sandbox Code Playgroud)
我总是有这个错误:
在rsWelcomeBundle:Homepage:index.html.twig第1行的模板渲染过程中抛出异常("找不到"GET Security:login""的路径).
如果我将这一行放在渲染部分,它就能正常工作.
{% render(controller("FOSUserBundle:Security:login")) %}
Run Code Online (Sandbox Code Playgroud)
但为什么 ??在文档中我从未看到我们要使用"渲染(控制器".为什么我不能直接使用:渲染"FOSUserBundle:安全:登录"?
在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
Run Code Online (Sandbox Code Playgroud)
在UserBundle中,我没有routing.yml.在WelcomeBundle中,我在routing.yml中有这个:
rsWelcomeBundle_homepage:
pattern: /
defaults: { _controller: "rsWelcomeBundle:Homepage:index" }
Run Code Online (Sandbox Code Playgroud)
我试着解决这个问题已经两天了,你能帮帮我吗?
非常感谢大家!
{% render "FOSUserBundle:Security:login" %}是Symfony 2.0呈现子请求的方式.{{ render(controller("FOSUserBundle:Security:login")) }}是2.1+的语法.两种语法基本上都是完全相同的.
有关子请求的文档位于:http://symfony.com/doc/current/quick_tour/the_view.html#embedding-other-controllers
| 归档时间: |
|
| 查看次数: |
4038 次 |
| 最近记录: |