sonata-project / SonataAdminBundle

The missing Symfony Admin Generator
https://docs.sonata-project.org/projects/SonataAdminBundle
MIT License
2.11k stars 1.26k forks source link

dependency on a non-existent service "knp_menu.factory" #1262

Closed Chrysweel closed 11 years ago

Chrysweel commented 11 years ago

I get the following error.

ServiceNotFoundException: The service "sonata.myservice" has a dependency on a non-existent service "knp_menu.factory".

Can somebody help me ??

This is my composer.json:

"sonata-project/block-bundle" : "2.2.*@dev",
"sonata-project/cache-bundle" : "dev-master",
"sonata-project/admin-bundle": "dev-master",
"knplabs/knp-menu-bundle": "1.1.*",
"sonata-project/doctrine-orm-admin-bundle" : "dev-master"

My AppKernel:

new Sonata\BlockBundle\SonataBlockBundle(),
new Sonata\jQueryBundle\SonatajQueryBundle(),
new Sonata\AdminBundle\SonataAdminBundle(),
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),

I created a service:

sonata.myservice:
        class: project\MyBundle\Admin\ChannelAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: 'Ircd', label: Channel}
        arguments:
            - null
            - project\MyBundle\Entity\Channel
            - SonataAdminBundle:CRUD

Config.yml

sonata_block:
    default_contexts: [cms]
    blocks:
        sonata.admin.block.admin_list:
            contexts:   [admin]

        #sonata.admin_doctrine_orm.block.audit:
        #    contexts:   [admin]

        sonata.block.service.text: ~
        sonata.block.service.rss: ~

sonata_doctrine_orm_admin:
    # default value is null, so doctrine uses the value defined in the configuration
    entity_manager: ~

    templates:
        form:
            - SonataDoctrineORMAdminBundle:Form:form_admin_fields.html.twig
        filter:
            - SonataDoctrineORMAdminBundle:Form:filter_admin_fields.html.twig
        types:
            list:
                array:      SonataAdminBundle:CRUD:list_array.html.twig
                boolean:    SonataAdminBundle:CRUD:list_boolean.html.twig
                date:       SonataAdminBundle:CRUD:list_date.html.twig
                time:       SonataAdminBundle:CRUD:list_time.html.twig
                datetime:   SonataAdminBundle:CRUD:list_datetime.html.twig
                text:       SonataAdminBundle:CRUD:base_list_field.html.twig
                trans:      SonataAdminBundle:CRUD:list_trans.html.twig
                string:     SonataAdminBundle:CRUD:base_list_field.html.twig
                smallint:   SonataAdminBundle:CRUD:base_list_field.html.twig
                bigint:     SonataAdminBundle:CRUD:base_list_field.html.twig
                integer:    SonataAdminBundle:CRUD:base_list_field.html.twig
                decimal:    SonataAdminBundle:CRUD:base_list_field.html.twig
                identifier: SonataAdminBundle:CRUD:base_list_field.html.twig

            show:
                array:      SonataAdminBundle:CRUD:show_array.html.twig
                boolean:    SonataAdminBundle:CRUD:show_boolean.html.twig
                date:       SonataAdminBundle:CRUD:show_date.html.twig
                time:       SonataAdminBundle:CRUD:show_time.html.twig
                datetime:   SonataAdminBundle:CRUD:show_datetime.html.twig
                text:       SonataAdminBundle:CRUD:base_show_field.html.twig
                trans:      SonataAdminBundle:CRUD:show_trans.html.twig
                string:     SonataAdminBundle:CRUD:base_show_field.html.twig
                smallint:   SonataAdminBundle:CRUD:base_show_field.html.twig
                bigint:     SonataAdminBundle:CRUD:base_show_field.html.twig
                integer:    SonataAdminBundle:CRUD:base_show_field.html.twig
                decimal:    SonataAdminBundle:CRUD:base_show_field.html.twig

sonata_admin:
    security:
        handler: sonata.admin.security.handler.role
        information:
            GUEST: [VIEW, LIST, CREATE]
            STAFF: [EDIT, LIST, CREATE]
            EDITOR: [OPERATOR]
            ADMIN: [MASTER]

        admin_permissions: [CREATE, LIST, DELETE, UNDELETE, OPERATOR, MASTER]
        object_permissions: [VIEW, EDIT, DELETE, UNDELETE, OPERATOR, MASTER, OWNER]
    title:      Sonata Project
    title_logo: /bundles/sonataadmin/logo_title.png
    templates:

        layout:  SonataAdminBundle::standard_layout.html.twig
        ajax:    SonataAdminBundle::ajax_layout.html.twig
        dashboard: SonataAdminBundle:Core:dashboard.html.twig

        list:    SonataAdminBundle:CRUD:list.html.twig
        show:    SonataAdminBundle:CRUD:show.html.twig
        edit:    SonataAdminBundle:CRUD:edit.html.twig

    dashboard:
        blocks:
            - { position: left, type: sonata.admin.block.admin_list }

Routing.yml

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

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

All is correct doesnt it ?? Please I need help! : )

stof commented 11 years ago

Have you registered KnpMenuBundle in your kernel ?

Chrysweel commented 11 years ago

Ok thanks @stof very much!! I am stupid!

It solve including in appKernel:

 new Knp\Bundle\MenuBundle\KnpMenuBundle(),
archie18 commented 11 years ago

I ran into the same problem. Adding KnpMenuBundle to AppKernel should be documented in the installation instructions in Resources/doc/reference/installation.rst

I suggest to re-open this issue and mark it as a documentation bug.

sjopet commented 11 years ago

@archie18 can you create a PR with the docs update?