Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List EasyAdmin如何保持编辑状态_List_View_Edit_Easyadmin - Fatal编程技术网

List EasyAdmin如何保持编辑状态

List EasyAdmin如何保持编辑状态,list,view,edit,easyadmin,List,View,Edit,Easyadmin,保存实体后,如何保持编辑状态而不重定向到列表视图?我尝试了一些操作,但似乎没有任何效果。EasyAdmin在AdminController.php中的“redirectToReferrer()”方法中硬编码了重定向行为。重定向规则的顺序为: 如果可能,重定向到列表 如果可能,从新建|编辑操作重定向到编辑 如果可能,从新操作重定向到新操作 其他:重定向到主页 您需要的是将第二条规则与第一条规则切换 您可以通过扩展AdminController.php并用自己的逻辑覆盖方法“redirectToRe

保存实体后,如何保持编辑状态而不重定向到列表视图?我尝试了一些操作,但似乎没有任何效果。

EasyAdmin在AdminController.php中的“redirectToReferrer()”方法中硬编码了重定向行为。重定向规则的顺序为:

  • 如果可能,重定向到列表
  • 如果可能,从新建|编辑操作重定向到编辑
  • 如果可能,从新操作重定向到新操作
  • 其他:重定向到主页
  • 您需要的是将第二条规则与第一条规则切换

    您可以通过扩展AdminController.php并用自己的逻辑覆盖方法“redirectToReferrer()”,并更改重定向规则的顺序来实现这一点

    为了减少侵入性,您可以通过以下方式覆盖它:

    /**
     * @return \Symfony\Component\HttpFoundation\RedirectResponse
     */
    protected function redirectToReferrer()
    {
        $refererAction = $this->request->query->get('action');
    
        // from new|edit action, redirect to edit if possible
        if (in_array($refererAction, array('new', 'edit')) && $this->isActionAllowed('edit')) {
            return $this->redirectToRoute('easyadmin', array(
                'action' => 'edit',
                'entity' => $this->entity['name'],
                'menuIndex' => $this->request->query->get('menuIndex'),
                'submenuIndex' => $this->request->query->get('submenuIndex'),
                'id' => ('new' === $refererAction)
                    ? PropertyAccess::createPropertyAccessor()->getValue($this->request->attributes->get('easyadmin')['item'], $this->entity['primary_key_field_name'])
                    : $this->request->query->get('id'),
            ));
        }
    
        return parent::redirectToReferrer();
    }
    
    这样,将首先应用您的规则,如果它与原始重定向规则不匹配,则应用该规则。您还可以在此处添加消息以确认实体已成功保存