问题标签 [sonata-user-bundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1052 浏览

symfony - 如何用户将不同的用户管理器注入奏鸣曲用户包

我尝试使用奏鸣曲管理包和奏鸣曲包。我已经创建了 ApplicationSontaUserBundle,如果我使用 fosUserInterface 一切正常。但我有另一个用户 Bundle,例如名为 Sso。所以在我的应用程序中,我需要使用 Sso userManger 而不是 FosUserManager。奏鸣曲用户包包含一个“admin_orm.xml”,在这个服务配置文件中,我在文件中有这一行:(在奏鸣曲用户包中)

在 Application/Sonata/UserBundle/Resources/config/admin_orm.xml 中,我有这个:

因为我在 Application/Sonata/Admin/Model/UserAdmin.php 中定义了另一个 userAdmin

而不是原来的 FosUserInterface。但是,它从不接受我的设置

它总是抱怨用户管理器是一个 FosUserInterface 对象,我需要自己的用户管理器。如果我改变

/vendor/sonata-project/user-bundle/Sonata/UserBundle/Resources/config/admin_orm.xml

并设置我自己的用户管理器,一切正常。谁能告诉我如何覆盖这个文件?

0 投票
1 回答
180 浏览

php - Symfony 2.3:不同浏览器和不同 Firefox 配置文件(除了一个)上的 «Bad credentials»

我在 Iceweasel(Debian Linux 上的 Firefox)和另一个名为“Entertainment”(以及 Google Chrome)上的不同配置文件(称为“调试”)上进行调试,令我惊讶的是,我无法登录这些,但我仍然可以在通常的配置文件(称为“开发”)上。

我尝试激活管理员用户,但没有成功。开发和生产环境也是如此,Symfony 或 Apache 日志中没有错误消息。

Symfony 2.3.9 SonataUserBundle 2.2.3 FOSUserBundle 1.3.3

0 投票
1 回答
906 浏览

symfony - 如何删除 SonataAdminbundle 列表中 SonataUserBundle 或 SonataMediaBundle 的默认块?

我不知道如何删除UserBundle的默认块MediaBundle(只是其中之一......)。

这是我的 config.yml:

还有我的security.yml:

0 投票
1 回答
350 浏览

php - 使用 ManyToMany 字段扩展 SonataAdmin 用户

我目前正在尝试扩展 SonataUserBundle 的用户以添加与现有实体的新多对多关系。

我根据此处找到的答案扩展了用户 -扩展奏鸣曲用户捆绑并添加新字段

用户.php

质押.php

当我同步模式时,我注意到的第一件事是它创建了 2 个数据透视表,而不仅仅是一个:pledge_useruser_pledge. 我尝试添加一个@ORM\JoinTable,但这只是改变一个的名称。当我将相同的内容添加@ORM\JoinTable到两者时,我会收到“表已存在”错误。

当我尝试在管理员中访问用户列表时,我收到了一个很大的 sql 错误

我确信这很简单,但我正在寻找这个问题的根源。我错过了什么?

完整用户.php:http: //pastebin.com/TXunsgm1

完整的 Pledge.php:http ://pastebin.com/Mta6aiVm

0 投票
1 回答
983 浏览

symfony - 安装 FOSUserBundle 时出现问题

执行官方文档中描述的所有任务后,我只是收到此错误:Sonata userBundle Install guide

Bundle "SonataUserBundle" extends bundle "FOSUserBundle", which is not registered.

虽然我成功安装了 SonataUserBundle(包括 FOS)并更新了配置和 appkernel。

PS:已经安装了 AdminBundle 更新1:现在我添加了new FOS\UserBundle\FOSUserBundle()& 我得到了这个错误 InvalidArgumentException: Bundle "ApplicationSonataUserBundle" 不存在或未启用。

0 投票
1 回答
370 浏览

symfony - Symfony 项目;SonataUser、FOSUser 和他们的 registration_content.html.twig

已解决——见条目底部

我正在尝试熟悉扩展 FOSUserBundle 的 SonataUserBundle。

安装工作正常(据我所知),现在我想自定义登录和注册表单。我覆盖了 app/Resources 中的模板,它运行良好。但是,对于注册表,我不明白它为什么起作用......

这是我的问题:

SonataUserBundle 注册控制器 (RegistrationFOSUser1) 设置表单并使用 FOSUserBundle:Registration:register.html.twig 作为模板呈现它:

register.html.twig 包括 FOSUserBundle:Registration:register_content.html.twig:

register_content.html.twig 包含用于呈现表单的 twig 代码。

然而,实际呈现的是 SonataUserBundle:Registration:register_content.html.twig

我只是不知道 SonataUserBundle 在哪里、何时以及如何在这里替代 FOSUserBundle ......

感谢您的任何提示!


好的,我现在看到我的问题的解决方案在 symfony 食谱中有详细记录:http: //symfony.com/doc/current/cookbook/bundles/inheritance.html

对于像我一样刚接触 symfony 的人:

如果你为另一个 bundle 'ChildBundle' 定义了一个父 'ParentBundle',那么每次调用 ParentBundle 中的函数、模板等,symfony 都会首先查看 ChildBundle 中是否有同名的文件。

父捆绑包在 ChildBundle.php 中定义:

只要通过通常的 ParentBundle:path:file 表示法调用父捆绑包的文件,这就是有效的。

0 投票
1 回答
1779 浏览

php - Symfony2 - 扩展或替换 SonataUserBundle 注册表单

我想扩展或替换 SonataUserBundle 中的注册表单。目前,我有使用“easy-extends”命令扩展的奏鸣曲用户包。因此,我"src/Application/Sonata/UserBundle/"创建了一个目录。

我的印象是,如果我在 中创建另一个文件"RegistrationFormType.php""src/Application/Sonata/UserBundle/Form/Type/RegistrationFormType"则该表单将是加载的那个,而不是供应商文件夹中的那个。

例如,我可以通过简单地在我的应用程序文件夹中创建一个具有相同名称的文件和一个类来替换供应商文件夹中的一个来轻松覆盖registrationController。另外,我可以做同样的事情来成功替换一些树枝模板。但是,它不适用于表单...

表单类型如下所示:

基本上,我复制并粘贴了文件,"vendor/sonata/user-bundle/form/type/registrationFormType.php"但我删除了用户名字段,只是为了查看加载了哪个表单。但是,当我访问 /register 时,我仍然得到用户名字段,这意味着加载的表单不是我想要的。

那么,我如何重载或替换表单,以便我可以添加字段"firstName, lastName, dateOfBirth, etc..",以便用户可以在注册过程中自己输入它们。

编辑 1:添加的配置

0 投票
1 回答
3891 浏览

php - Symfony2 - 注册表单重载导致 CSRF 错误(添加 github repo)

我目前正在重载 SonataUser 注册表单,以便在人们创建帐户时拥有自己的自定义表单。

我已经正确地重载了​​所有东西(处理程序、表单类型、控制器和树枝模板)。但是,当我发送表单时,我只取回数据并且没有创建新用户。因此,我进行了调查,发现当我回应这个

我收到一条错误消息,说 CSRF 令牌无效。我正在使用Symfony 2.4.2sonata user 2.2.x-dev

我将向您展示我重载的所有类。目前,它们大多是从父母那里复制和粘贴的。

这是我的表单处理程序

这是我的表单类型:

这是我的注册控制器

以下是我的服务:

这是我的奏鸣曲用户配置(app/config/config.yml)

我的树枝渲染:

我真的不知道为什么我会收到错误:

因为我在我的页面中有{{form_rest(form)}}并且存在令牌字段...

更新我创建了一个 github 存储库,以便可以提取我的配置,以便您自己查看问题。https://github.com/ima-tech/testSonataUser

0 投票
2 回答
8840 浏览

symfony - Symfony2 - 块类型 sonata.user.block.menu 不存在

我有一个例外:

我已经安装了 FOSUserBundle + SonataAdminBundle,我怎么理解,我需要安装 SonataBlockBundle 和其他必需的捆绑包。

我的内核文件:

添加我的 composer.json

所有 Bundle 都已安装。所以我不知道为什么我有这个错误

应用程序/配置/config.yml

0 投票
2 回答
4587 浏览

symfony - 如何覆盖 SonataUserBundle 模板

我已经安装了 SonataAdminBundle 和 SonataUserBundle,我正在尝试覆盖一些树枝模板。除了 user_block.html.twig 之外,我已经成功完成了所有操作

这是我的项目 ../app/Resources/ 目录结构:

我也试过把它放在 SonataAdminBundle 或 SonataUserBundle 目录下,但没有,它对我不起作用。

如何覆盖 user_block 模板?

谢谢