首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2 -奏鸣曲& KnpMenu - setCurrentUri

Symfony2 -奏鸣曲& KnpMenu - setCurrentUri
EN

Stack Overflow用户
提问于 2015-05-20 10:38:11
回答 1查看 738关注 0票数 2

所以我想安装奏鸣曲管理束奏鸣曲用户束。根据他们的页面,AdminBundle *所以我的composer.json是这样的:

代码语言:javascript
复制
"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.6.*",
    "doctrine/orm": "~2.2,>=2.2.3,<2.5",
    "doctrine/dbal": "<2.5",
    "doctrine/doctrine-bundle": "~1.2",
    "twig/extensions": "~1.0",
    "twbs/bootstrap": "~3",
    "components/jquery": "dev-master",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~3.0,>=3.0.12",
    "sensio/framework-extra-bundle": "~3.0,>=3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "friendsofsymfony/user-bundle": "1.3.*",
    "sonata-project/doctrine-orm-admin-bundle": "2.4.*@dev",
    "sonata-project/admin-bundle": "dev-master",
    "sonata-project/easy-extends-bundle": "^2.1",
    "sonata-project/user-bundle": "^2.2"
},

像这样的AppKernel.php

代码语言:javascript
复制
$bundles = [
    new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
    new Symfony\Bundle\SecurityBundle\SecurityBundle(),
    new Symfony\Bundle\TwigBundle\TwigBundle(),
    new Symfony\Bundle\MonologBundle\MonologBundle(),
    new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
    new Symfony\Bundle\AsseticBundle\AsseticBundle(),
    new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
    new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
    new My\ProductBundle\MyPdBundle(),
    new FOS\UserBundle\FOSUserBundle(),
    new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
    new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle(),
    new Sonata\CoreBundle\SonataCoreBundle(),
    new Sonata\BlockBundle\SonataBlockBundle(),
    new Knp\Bundle\MenuBundle\KnpMenuBundle(),
    new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),

    new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
    new Sonata\AdminBundle\SonataAdminBundle(),
    ];

但是,当我试图访问mypage.local/app_dev.php/profile时,我得到了以下错误:

代码语言:javascript
复制
Attempted to call method "setCurrentUri" on class "Knp\Menu\MenuItem".
Did you mean to call "setCurrent"?
500 Internal Server Error - UndefinedMethodException

in vendor/sonata-project/user-bundle/Block/ProfileMenuBlockService.php at line 91
$menu->setCurrentUri($settings['current_uri']);

栈中有许多信息是Sonata在1.3版中需要KnpMenuBundle的,但正如我所写的,在dev-master bramch奏鸣曲中,版本2中需要KnpMenuBndle。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-20 19:03:16

终于,我想出来了!

如果您想使用Sonata AdminPanel & Sonada UserPanel (与FOSUserBundle一起使用),下面是工作配置:

代码语言:javascript
复制
"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.6.*",
    "doctrine/orm": "~2.2,>=2.2.3,<2.5",
    "doctrine/dbal": "<2.5",
    "doctrine/doctrine-bundle": "~1.2",
    "twig/extensions": "~1.0",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~3.0,>=3.0.12",
    "sensio/framework-extra-bundle": "~3.0,>=3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "friendsofsymfony/user-bundle": "1.3.*@dev",
    "sonata-project/block-bundle": "2.3.*@dev",
    "sonata-project/easy-extends-bundle": "^2.1",
    "sonata-project/datagrid-bundle": "~2.2@dev",
    "sonata-project/admin-bundle": "~2.3@dev",
    "sonata-project/doctrine-orm-admin-bundle": "~2.3@dev",
    "stof/doctrine-extensions-bundle": "~1.1@dev",
    "sonata-project/user-bundle": "~2.3@dev"
},

您可以使用1.3个版本的FOSUserBundle,但它只支持2.1版本的SF2。*支持2.6版本的SF2。

代码语言:javascript
复制
"friendsofsymfony/user-bundle": "1.3.*@dev"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30347214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档