Php Symfony 4.1,奏鸣曲管理奖';不可推翻

Php Symfony 4.1,奏鸣曲管理奖';不可推翻,php,symfony,sonata-admin,overriding,Php,Symfony,Sonata Admin,Overriding,我想重写Sonata Admin的editAction方法。 我创建了一个管理类,并从Sonata\AdminBundle\Controller\CRUDController扩展了它 然后我用我的个人编辑写了editAction,但是当我访问编辑帖子页面时,会调用旧的Sonata editAction,而不是我的函数! 这是我的管理类: <?php namespace App\Controller; use Sonata\AdminBundle\Controller\CRUDCo

我想重写Sonata Admin的editAction方法。 我创建了一个管理类,并从Sonata\AdminBundle\Controller\CRUDController扩展了它 然后我用我的个人编辑写了editAction,但是当我访问编辑帖子页面时,会调用旧的Sonata editAction,而不是我的函数! 这是我的管理类:

    <?php
namespace App\Controller;

use Sonata\AdminBundle\Controller\CRUDController as Controller;
use Symfony\Component\HttpFoundation\RedirectResponse;
use App\Manager\SiteManagerInterface;
use App\Manager\UserManagerInterface;
use App\Entity\Site;
use App\Entity\Profile;
use App\Entity\User;
use App\Entity\Payment;
use Symfony\Component\HttpFoundation\Response;

class UserAdminCRUDController extends Controller
{
    /** @var SiteManagerInterface $siteManager */
    private $siteManager;


    public function editAction($id = null)
    {
        return new Response("test");
    }

}

我相信您忘记注册操作服务了。您可以通过以下方式完成:
通过使用XML:

<!-- src/Resources/config/admin.xml -->

<service id="app.admin.car" class="App\Admin\CarAdmin">
    <tag name="sonata.admin" manager_type="orm" group="Demo" label="Car" />
    <argument />
    <argument>App\Entity\Car</argument>
    <argument>App\Controller\CRUDController</argument>
</service>

您可以阅读更多有关它的信息

我已经注册了操作服务,查看
admin.user:class:App\admin\UserAdmin参数:-null-App\Entity\user-App\Controller\UserAdminCRUDController标记:-{name:sonata.admin,manager\u type:orm,label:user}public:true调用:-[init、['@fos\u user.user\u manager'、'@App\manager\ProfileManagerInterface']
或者我也应该为帖子添加服务?
# src/Resources/config/admin.yml
services:
    app.admin.car:
        class: App\Admin\CarAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: Demo, label: Car }
        arguments:
            - null
            - App\Entity\Car
            - App\Controller\CRUDController
        public: true