显示个人资料FOS UserBundle + Sonata UserBundle

时间:2015-09-09 09:01:39

标签: php symfony fosuserbundle sonata-user-bundle

我使用FOS UserBundle和Sonata Admin / UserBundle,我不想显示FOSUserBundle用户个人资料信息。

我可以访问localhost / MyWebSite / web / app_dev.php / 个人资料/编辑,但 我无法访问localhost / MyWebSite / web / app_dev.php / 个人资料

我有这个错误:

  

在呈现模板期间抛出异常("无法生成指定路径的URL" sonata_user_profile_edit "因为此类路由不存在。")在SonataUserBundle:简介:action.html.twig第27行。

当我要求 FOSUserBundle个人资料

时,我不明白为什么会产生Sonata用户个人资料路线

在日志文件中,我可以看到良好的生根消息:

INFO - 匹配路线" fos_user_profile_show"。

感谢您的帮助。

我的路由文件

#FOS USER AND SONATA ADMIN ROUTES
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: /change-password

admin:
    resource: '@SonataAdminBundle/Resources/config/routing/sonata_admin.xml'
    prefix:   /admin

_sonata_admin:
    resource: .
    type: sonata_admin
    prefix: /admin

soanata_user:
    resource: '@SonataUserBundle/Resources/config/routing/admin_security.xml'
    prefix: /admin

sonata_user_impersonating:
    pattern: /
    defaults: { _controller: SonataPageBundle:Page:catchAll }

homepage:
pattern:  /

编辑1: 我尝试了一些调试验证

当我调用Url:localhost / MyWebSite / web / app_dev.php / 个人资料时,找到了好的路线 fos_user_profile_show

进入FOS控制器

.. \ vendor \ friendsofsymfony \ user-bundle \ FOS \ UserBundle \ Controller \ ProfileController .php

但在ProfileController showAction()函数之后,调用了** Sonata UserBundle action.html.twig **

路径: ... \ vendor \ sonata-project \ user-bundle \ Resources \ views \ Profile \ action.html.twig

我不明白我的错误在哪里以及它是如何可能的:-( ... \厂商\ friendsofsymfony \用户束\ FOS \ UserBundle \资源\配置\路由\ profile.xml配置

<!--\vendor\friendsofsymfony\user-bundle\FOS\UserBundle\Resources\config\routing\profile.xml-->
<?xml version="1.0" encoding="UTF-8" ?>

<route id="fos_user_profile_show" path="/" methods="GET">
    <default key="_controller">FOSUserBundle:Profile:show</default>
</route>

<route id="fos_user_profile_edit" path="/edit" methods="GET POST">
    <default key="_controller">FOSUserBundle:Profile:edit</default>
</route>

... \ vendor \ sonata-project \ user-bundle \ Resources \ config \ routing \ sonata_profile_1.xml

<routes xmlns="http://symfony.com/schema/routing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">

<route id="fos_user_profile_show" pattern="/">
    <default key="_controller">SonataUserBundle:ProfileFOSUser1:show</default>
    <requirement key="_method">GET</requirement>
</route>

<route id="fos_user_profile_edit_authentication" pattern="/edit-authentication">
    <default key="_controller">SonataUserBundle:ProfileFOSUser1:editAuthentication</default>
</route>

<route id="fos_user_profile_edit" pattern="/edit-profile">
    <default key="_controller">SonataUserBundle:ProfileFOSUser1:editProfile</default>
</route>

<route id="sonata_user_profile_show" pattern="/">
    <default key="_controller">SonataUserBundle:ProfileFOSUser1:show</default>
    <requirement key="_method">GET</requirement>
</route>

<route id="sonata_user_profile_edit_authentication" pattern="/edit-authentication">
    <default key="_controller">SonataUserBundle:ProfileFOSUser1:editAuthentication</default>
</route>

<route id="sonata_user_profile_edit" pattern="/edit-profile">
    <default key="_controller">SonataUserBundle:ProfileFOSUser1:editProfile</default>
</route>

1 个答案:

答案 0 :(得分:0)

我并没有弄清楚整个&#34;科学&#34;它背后,因为FOS用户和索纳塔用户是最令人困惑的捆绑包,但这将解决你的问题。

请按照这篇文章: https://sonata-project.org/bundles/user/2-2/doc/reference/profile_edition.html

并取而代之:

IPV6_V6ONLY

有了这个:

.animate()

这是我到目前为止停止的地方。下一步是确定您要使用FOS与Sonata处理哪个部分并设计配置文件UI / UX。我看到用户名&amp;密码可以在Profile中的两个不同位置更改,这不是很好。

使用它也有帮助: http://symfony.com/doc/current/bundles/FOSUserBundle/configuration_reference.html