管理ダッシュボードに入力しようとすると、次のエラーが発生します。
リソース「/var/www/autoportal/app/config/」をインポートできません。「/var/www/autoportal/app/config/routing.yml」から。(オートローダは、クラス "App\AdminBundle\Admin\AutoAdmin" がファイル "/var/www/autoportal/src/App/AdminBundle/Admin/AutoAdmin.php" で定義されることを予期していました。ファイルは見つかりましたが、クラスはありませんでしたクラス名または名前空間にタイプミスがある可能性があります。)
私の管理者クラス:
namespace App\AdminBundle\Admin;
use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
class AutoAdmin extends Admin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name')
->add('enabled', null, array('required' => false))
;
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('name')
->add('posts')
;
}
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('name')
->add('slug')
->add('enabled')
;
}
}
サービス構成:
services:
app_admin.auto:
class: App\AdminBundle\Admin\AutoAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: posts, label: "Auto" }
arguments:
- ~
- 'App\AutoPortalBundle\Entity\Auto'
- 'SonataAdminBundle:CRUD'
calls:
- [ setTranslationDomain, [AppAdminBundle]]
ルーティング ファイル:
app_auto_portal_controller:
resource: "@AppAutoPortalBundle/Controller"
type: annotation
app_auto_portal:
resource: "@AppAutoPortalBundle/Resources/config/routing.yml"
prefix: /
login:
pattern: /login
defaults: { _controller: AppAutoPortalBundle:Security:login }
login_check:
pattern: /login_check
admin:
resource: '@SonataAdminBundle/Resources/config/routing/sonata_admin.xml'
prefix: /admin
_sonata_admin:
resource: .
type: sonata_admin
prefix: /admin