首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sonata管理束symfony

sonata管理束symfony
EN

Stack Overflow用户
提问于 2015-01-18 21:26:52
回答 1查看 4.6K关注 0票数 7

我试图安装奏鸣曲管理包来管理我的用户。

我使用FOS用户包。

我遵守了指示,但是出了什么差错,我找不到什么。

我有一个错误:

无法自动确定基本路由名称,请为C:\Users\Alexandre\hubiC\www\questionnaire\app/config.中的管理类UserBundle\Admin\UserAdmin定义默认baseRouteName值。(正在从"C:\Users\Alexandre\hubiC\www\questionnaire\app/config\routing.yml").导入

在我的服务中:

代码语言:javascript
复制
services:
    sonata.admin.user:
        class: UserBundle\Admin\UserAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: "Content", label: "User" }
        arguments:
            - ~
            - UserBundle\Entity\User
            - ~
        calls:
            - [ setTranslationDomain, [UserBundle]]

在我的配置中:

代码语言:javascript
复制
imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: services.yml }
    - { resource: @UserBundle/Resources/config/admin.yml }
sonata_block:
    default_contexts: [cms]
    blocks:
        # Enable the SonataAdminBundle block
        sonata.admin.block.admin_list:
            contexts:   [admin]
        # Your other blocks

文件UserAdmin:

代码语言:javascript
复制
<?php // 
namespace UserBundle\Admin;

use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;

class UserAdmin extends Admin
{
    // Fields to be shown on create/edit forms
    protected function configureFormFields(FormMapper $formMapper)
    {
        $formMapper
            ->add('nom')
            ->add('prenom')
            ->add('adresse')
            ->add('npa')
            ->add('localite')
            ->add('entreprise')
        ;
    }

    // Fields to be shown on filter forms
    protected function configureDatagridFilters(DatagridMapper $datagridMapper)
    {
        $datagridMapper
            ->add('nom')
            ->add('prenom')
            ->add('adresse')
            ->add('npa')
            ->add('localite')
            ->add('entreprise')
        ;
    }

    // Fields to be shown on lists
    protected function configureListFields(ListMapper $listMapper)
    {
        $listMapper
            ->addIdentifier('nom')
            ->add('prenom')
            ->add('adresse')
            ->add('npa')
            ->add('localite')
            ->add('entreprise')
        ;
    }
}

此文件位于UserBundle/Admin文件夹中。

出什么问题了?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-19 06:43:34

我不知道,为什么奏鸣曲不自动为你生成baseRouteName。我假设您定义了自定义目录结构或自定义类名。您可以转储getBaseRouteName方法的返回。该方法用于生成路由信息。

还可以定义它(不是自动的)。

代码语言:javascript
复制
   protected $baseRouteName = 'your_name'; 
   protected $baseRoutePattern = 'your_name';

您可以通过app/控制台路由器检查控制台中的路由器:调试,您从admin到的新路由应该在那里。

路由问题在这里的文档中有描述:https://sonata-project.org/bundles/admin/2-3/doc/reference/routing.html

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28015007

复制
相关文章

相似问题

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