奏鸣曲 Sontauser 和 fosuser

Posted

技术标签:

【中文标题】奏鸣曲 Sontauser 和 fosuser【英文标题】:Sonata sontauser and fosuser 【发布时间】:2015-03-20 07:18:27 【问题描述】:

我正在尝试使用奏鸣曲作为我的支持。我现在正在尝试设置一些用户。 我已经安装了 fosuserbundle,但是当我尝试获取 sonata-project/user-bundle 时,我得到了这个:

  Problem 1
    - sonata-project/user-bundle 2.2.2 requires sonata-project/admin-bundle ~2.2.7 -> no matching package found.
    - sonata-project/user-bundle 2.2.1 requires sonata-project/admin-bundle ~2.2.7 -> no matching package found.
    - sonata-project/user-bundle 2.2.0 requires sonata-project/admin-bundle ~2.2.7 -> no matching package found.
    - Installation request for symfony/framework-standard-edition 2.6.x-dev -> satisfiable by symfony/framework-standard-edition[2.6.x-dev].
    - symfony/framework-standard-edition 2.6.x-dev requires sonata-project/user-bundle ~2.2 -> satisfiable by sonata-project/user-bundle[2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4].
    - sonata-project/user-bundle 2.2.3 requires friendsofsymfony/user-bundle ~1.3 -> satisfiable by friendsofsymfony/user-bundle[1.3.x-dev].
    - sonata-project/user-bundle 2.2.4 requires friendsofsymfony/user-bundle ~1.3 -> satisfiable by friendsofsymfony/user-bundle[1.3.x-dev].
    - Conclusion: don't install friendsofsymfony/user-bundle 1.3.x-dev

我正在查看奏鸣曲沙箱,在 AppKernel.php 中它们有以下内容:

        // USER
        new FOS\UserBundle\FOSUserBundle(),
        new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
        new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),

我在他们的 composer 文件中找不到对 FOSUserBundle 的要求。

谁能向我解释我做错了什么?我只想有一个简单的管理员和用户管理,这样我就可以拥有需要登录用户才能访问的东西。

使用: PHP 5.4.36-0+deb7u1 (cli) Symfony 2.6.3

谢谢

更新

我遵循了 HypeR 的建议,现在我有了正确的捆绑包。

登录有问题。我已经创建了应用程序包,它需要一个 fos_user_user 表。我如何创建它??

我尝试登录并收到一条错误消息,提示表 fos_user_user 不存在。

【问题讨论】:

【参考方案1】:

您应该按照安装文档了解如何安装SonataUserBundle。

要进行用户管理,您需要安装FosUserBundle。目前 Sonata 不支持 FosUserBundle 的最新版本,这就是你必须安装 1.3 版本的原因。在issue 上有更多详细信息。

然后你需要安装 SonataUserBundle 的两个依赖:SonataAdminBundle & SonataEasyExtendsBundle。

然后你可以按照 SonataUserBundle 的安装文档。

祝你好运!

更新

您的数据库似乎缺少一些表,您应该进入项目的根目录并在命令行中执行:

php app/console doctrine:schema:update --force

您可以使用 --force 来检查即将执行的 mysql 查询:

php app/console doctrine:schema:update --dump-sql

检查您是否完成了安装 FOSUserBundle 1.3 的所有步骤:https://github.com/FriendsOfSymfony/FOSUserBundle/blob/1.3.x/Resources/doc/index.md

【讨论】:

谢谢!我会试试这个。 关于更新:是的,这是缺少的步骤。谢谢!一个快速的问题。在奏鸣曲演示中有一个用户管理区域是我可以激活的东西还是只有奏鸣曲演示的功能? SonataUserBundle 有一个集成的管理员 (github.com/sonata-project/SonataUserBundle/tree/master/Admin),如果您按照 SonataUserBundle 的安装步骤操作,您应该有一个用户和组管理员:sonata-project.org/bundles/user/master/doc/reference/… 我确实关注了文档,但在侧边菜单和 admin.group 块中都没有看到任何链接 别介意最后的评论。我自定义了 dasboard.groups,这似乎删除了用户的东西。我有什么方法可以自定义侧面菜单并拥有用户内容吗?再次感谢

以上是关于奏鸣曲 Sontauser 和 fosuser的主要内容,如果未能解决你的问题,请参考以下文章

多个嵌套集合字段和奏鸣曲类型集合

Symfony 3.2.7 和奏鸣曲媒体包安装

奏鸣曲一对多关系

配置文件编辑时奏鸣曲用户捆绑错误

Symfony 3 和奏鸣曲管理员

奏鸣曲管理员:列表始终使用默认语言