Я пытаюсь расширить User Entity пользовательского пакета сонаты, но это всегда терпит неудачу (по крайней мере, когда я хочу использовать ist с пакетом администратора сонаты). Если я использую Application/Sonata/UserBundle/Entity/User Entity, он работает, и я могу редактировать его на панели инструментов.
Моя сущность выглядит так:
<?php
namespace MyNamespace\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\EntityManager;
use Sonata\UserBundle\Entity\BaseUser as BaseUser;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
}
В моем config.yml я определил следующие параметры:
fos_user:
db_driver: orm
firewall_name: main
user_class: MyNamespace\MyBundle\Entity\User
group:
group_class: Application\Sonata\UserBundle\Entity\Group
group_manager: sonata.user.orm.group_manager
service:
user_manager: sonata.user.orm.user_manager
А также:
sonata_user:
security_acl: true
manager_type: orm
class:
user: MyNamespace\MyBundle\Entity\User
Логин работает правильно, но потом я получаю сообщение об ошибке
«Во время рендеринга шаблона возникло исключение («Невозможно сгенерировать URL-адрес для именованного маршрута «admin_sonata_user_user_create», поскольку такой маршрут не существует») в SonataAdminBundle:Block:block_admin_list.html.twig в строке 39».
Мой файл routing.yml выглядит так:
admin:
resource: '@SonataAdminBundle/Resources/config/routing/sonata_admin.xml'
prefix: /
_sonata_admin:
host: www.mydomain.com
resource: .
type: sonata_admin
prefix: /
schemes: [https]
Даже если я буду следовать этому руководству (Extending Sonata User Bundle и добавление новых полей) шаг за шагом я получаю ту же ошибку.
php app/console router:debug | grep admin_sonata_user_user_create
- person Pawel   schedule 21.01.2015