Как использовать пакет уведомлений Sonata?

Я хочу добавить систему уведомлений в свой проект symfony (2.8), я думал, что пакет уведомлений Sonata может помочь, но оказалось, что я не знаю, как его использовать, я установил его очень хорошо, но я не знаю, как использовать это в моем проекте. Мне нужна помощь по этому набору, какой-нибудь учебник или что-то в этом роде. или есть другой способ использовать систему уведомлений, пожалуйста, сообщите мне заранее, спасибо Это контроллер, который я хочу использовать пакет уведомлений

namespace LocationBundle\Controller;

используйте Symfony \ Component \ HttpFoundation \ Request; используйте Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller;

используйте LocationBundle \ Entity \ Agence; используйте Symfony \ Component \ HttpFoundation \ JsonResponse;

/ ** * Контроллер агентства. * * / class AgenceController extends Controller {/ ** * Список всех сущностей Agence. * * / публичная функция indexAction () {
$ em = $ this-> getDoctrine () -> getManager ();

    $agences = $em->getRepository('LocationBundle:Agence')->findAll();

    return $this->render('agence/index.html.twig', array(
        'agences' => $agences,            
    ));
}

/**
 * Creates a new Agence entity.
 *
 */
public function newAction(Request $request)
{
    $agence = new Agence();
    $form = $this->createForm('LocationBundle\Form\AgenceType', $agence);
    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($agence);
        $em->flush();

        return $this->redirectToRoute('agence_show', array('id' => $agence->getId()));
    }

    return $this->render('agence/new.html.twig', array(
        'agence' => $agence,
        'form' => $form->createView(),
    ));
}

/**
 * Finds and displays a Agence entity.
 *
 */
public function showAction(Agence $agence)
{
    $deleteForm = $this->createDeleteForm($agence);

    return $this->render('agence/show.html.twig', array(
        'agence' => $agence,
        'delete_form' => $deleteForm->createView(),
    ));
}

/**
 * Displays a form to edit an existing Agence entity.
 *
 */
public function editAction(Request $request, Agence $agence)
{
    $deleteForm = $this->createDeleteForm($agence);
    $editForm = $this->createForm('LocationBundle\Form\AgenceType', $agence);
    $editForm->handleRequest($request);

    if ($editForm->isSubmitted() && $editForm->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($agence);
        $em->flush();

        return $this->redirectToRoute('agence_edit', array('id' => $agence->getId()));
    }

    return $this->render('agence/edit.html.twig', array(
        'agence' => $agence,
        'edit_form' => $editForm->createView(),
        'delete_form' => $deleteForm->createView(),
    ));
}

/**
 * Deletes a Agence entity.
 *
 */
public function deleteAction(Request $request, Agence $agence)
{
    $form = $this->createDeleteForm($agence);
    $form->handleRequest($request);

    if ($form->isSubmitted() && $form->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->remove($agence);
        $em->flush();
    }

    return $this->redirectToRoute('agence_index');
}

/**
 * Creates a form to delete a Agence entity.
 *
 * @param Agence $agence The Agence entity
 *
 * @return \Symfony\Component\Form\Form The form
 */
private function createDeleteForm(Agence $agence)
{
    return $this->createFormBuilder()
        ->setAction($this->generateUrl('agence_delete', array('id' => $agence->getId())))
        ->setMethod('DELETE')
        ->getForm()
    ;
}

person Soufiane Neffar    schedule 17.04.2016    source источник


Ответы (1)


Я почти уверен, что пакет уведомлений Sonata - это не то, что вы ищете. Слово «Уведомление» в заголовке в вашем случае немного вводит в заблуждение. Пакет используется для откладывания действий / событий с использованием системы очередей, такой как RabbitMQ.

Что вы ищете: взгляните на собственные "Flash-сообщения" Symfony: http://symfony.com/doc/current/book/controller.html#flash-messages

Это очень легко реализовать, и вам не нужен дополнительный комплект.

person toooni    schedule 17.04.2016
comment
Большое вам спасибо, но в моем случае, когда пользователь добавляет что-то в базу данных, администратор должен знать об этом с помощью уведомления, могут ли Flash-сообщения мне в этом помочь? - person Soufiane Neffar; 18.04.2016
comment
@SoufianeNeffar Хм .. Тогда я снова понял, что ты действительно хочешь сделать. Нет, для этого решением может быть SonataNotificationBundle. Как вы имеете в виду, что админ должен знать об этом, чего вы хотите добиться? Хотите уведомление в админке без перезагрузки страницы? - person toooni; 18.04.2016
comment
Да, сэр, я имею в виду, что администратор должен иметь своего рода предупреждение (например, уведомление Facebook), чтобы знать, что происходит какое-либо изменение, не имеет значения, перезагружается страница или нет, я просто хочу получить уведомление, если пакет уведомлений сонаты может сделать пожалуйста, скажите мне, как его использовать, я искал на веб-сайте сонаты, и я не очень хорошо понял, и еще раз спасибо! - person Soufiane Neffar; 18.04.2016
comment
@SoufianeNeffar В этом случае я рекомендую вам что-то вроде pusher (вот пакет symfony github.com/laupiFrpar/LoplePusherBundle >). - person toooni; 18.04.2016
comment
Спасибо за уделенное время, попробую :-) - person Soufiane Neffar; 18.04.2016