Визуализация списка администраторов сонаты в блоке - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь создать блок для главной страницы на основе списка действий Соната admin возможна?

example 
  dashboard:
        blocks:
            - { type: mea.task.block, position: center, roles: [ ROLE_WORKER ] }

Вот блок рендеринга

class TaskListAdminBlock extends AbstractAdminBlockService
{


 /**
     * {@inheritdoc}
     */
    public function execute(BlockContextInterface $blockContext, Response $response = null)
    {

    $controller = 'Mea\TaskBundle\Sonata\Controller\TaskCrudController::listAction';
        $path = array(
            '_controller' => $controller
        );


    $subRequest = $this->requestStack->getMasterRequest()->duplicate($query, null, $path);

        $response = $this->kernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST);

        return $response;

TaskCrudController - контроллер администратора сонаты для задачи

эта ошибка выброса

There is no `_sonata_admin` defined for the controller `Mea\TaskBundle\Sonata\Controller\TaskCrudController` and the current route ``

Возможно исправить этот код или архивировать это по-другому?

1 Ответ

0 голосов
/ 28 апреля 2020

Хорошо, я нашел прекрасное решение. Это делает в ajax сделанный список администраторов

public function execute(BlockContextInterface $blockContext, Response $response = null)
    {

        $controller = 'Mea\TaskBundle\Sonata\Controller\TaskCrudController::listAction';
        $path = array(
            '_controller' => $controller
        );

        $query = [
            'filter'=>[
                '_per_page'=>4,
            ],
        ];

        $subRequest = $this->requestStack->getMasterRequest()->duplicate($query, null, $path);
        $subRequest->headers->set('X-Requested-With','XMLHttpRequest');
        $subRequest->request->set('_sonata_admin','mea.task.task.admin');

        $response = $this->kernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST);

        return $response;

    }

Не полностью работает нормально - ajax Действия переключения режима для выбора.

...