Symfony 4.1, администратор сонаты не будет отменен

Я хотел переопределить метод editAction в Sonata Admin. Я создал класс администратора и расширил его из 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");
    }

}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
138
1

Ответы 1

Я считаю, что вы забыли зарегистрировать сервис акции. Вы можете сделать это: Либо с помощью 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>

или в yml

# 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

Подробнее об этом можно прочитать здесь

Я уже зарегистрировал службу действий, посмотрите admin.user: class: App\Admin\UserAdmin arguments: - null - App\Entity\User - App\Controller\UserAdminCRUDController tags: - { name: sonata.admin, manager_type: orm, label: User } public: true calls: - [init, ['@fos_user.user_manager', '@App\Manager\ProfileManagerInterface']] Или шоудл тоже добавить службу для поста?

Muhamed Abdelhafidh 04.07.2018 15:44

Другие вопросы по теме