我用这个扩展制作了一个控制器(不是一个 crud):
class ScanController extends AbstractDashboardController
在这个控制器中,我有一个包含更多步骤的流程,并且对于每个步骤我都创建了一个操作:
/**
* @Route("/scan/step1", name="scan_step1")
*/
public function step1(Request $request, EntityManagerInterface $entityManager): Response
{
}
/**
* @Route("/scan/step2/{id_scan}", name="scan_step2")
*/
public function step2(int $id_scan, Request $request, EntityManagerInterface $entityManager): Response
{
}
在我的仪表板菜单配置中,我在第一步中添加了一个菜单:
MenuItem::linktoRoute('Scan', 'fa fa-barcode', 'scan_step1'),
Step1的网址是:
https://xxx/admin?menuIndex=2&routeName=scan_step1&signature=WeCEAS5-LhXL1Zy50HTVPuFjUpDKc7K0vdBLUY-T45E&submenuIndex=1
这没关系,但是现在,当我在第 1 步中完成后,我想将客户重定向到第 2 步,并且我使用了简单的“redirectToRoute”功能:
return $this->redirectToRoute('scan_step2', [
'id_scan'=>$scan->getId(),
]);
但是当页面打开时,我没有任何菜单了......我在模板中,但在easyadmin“世界”的“外部”,URL现在是:
https://xxxx/scan/step2/14
我确定我需要通过带有easyadmin功能的重定向URL生成,但我找不到这样做的方法:-(它是AdminUrlGenerator和其他东西吗?如何?