2015-08-10 2 views
-1

Я знаю, что классическая страница администратора имеет подтверждение для удаления и изменения информации, но это подтверждение - другая страница. Можете ли вы установить страницу подтверждения, которая будет отображаться как всплывающее окно вместо другой страницы?Sonata admin удалить подтверждение с помощью всплывающего окна

ответ

1

Это можно сделать с помощью javascript. Вы можете использовать библиотеку bootbox. http://bootboxjs.com/examples.html

Html:

<a href="#" data-href="id/delete">Delete</a> 

В JavaScript создать перехватчик для удаления кнопки:

$("a.confirm-delete").click(function(e) { 
    e.preventDefault(); 
    var $link = $(this); 

    bootbox.confirm("Are you sure?", function(result) { 
     if (result == true) { 
      document.location.assign($link.attr('data-href')); 
     } 
    }); 
}); 

В контроллере:

/** 
* @Route("/{id}/delete", requirements={"id" = "\d+"}) 
*/ 
public function deleteAction(Request $request, Product $p) 
{ 
    $this->em->remove($p); 
    $this->em->flush(); 

    return new RedirectResponse($this->router->generate('route')); 
}