




EasyAdmin жестко запрограммировал поведение перенаправления в методе «redirectToReferrer ()» в AdminController.php. Порядок правил перенаправления:
Вы хотите заменить второе правило первым.
Вы можете сделать это, расширив 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();
}
Таким образом, ваше правило применяется первым, а если оно не соответствует исходным правилам перенаправления, применяются. Вы также можете добавить сюда сообщения, чтобы подтвердить, что объект был успешно сохранен.