【问题标题】:Render Sonata admin list in block在块中渲染奏鸣曲管理员列表
【发布时间】:2020-08-12 07:35:07
【问题描述】:

我尝试为主页创建一个基于列表操作奏鸣曲管理员的块是可能的吗?

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       = [
            '_controller' => $controller,
        ];

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

        return $this->kernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
    }
}

TaskCrudController 是任务的奏鸣曲管理控制器

这个抛出错误

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

是否可以修复此代码或以其他方式存档?

【问题讨论】:

    标签: php symfony sonata-admin sonata


    【解决方案1】:

    好的,我找到了很好的解决方案 这呈现在 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 模式切换操作来选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-30
      • 2017-11-12
      • 2018-03-22
      • 2018-12-02
      • 2013-01-20
      • 2012-01-07
      • 1970-01-01
      • 2016-10-09
      相关资源
      最近更新 更多