我使用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>
答案 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