У меня есть трудности с добавлением уведомлений в Symfony - PullRequest
2 голосов
/ 11 апреля 2019

У меня трудности с добавлением уведомлений в symfony

Я использую этот пакет https://github.com/maximilienGilet/notification-bundle

Я следовал за документом, но столкнулся с трудностью

Это то, что ядобавили в контроллер (add annonce)

        $manager = $this->get('mgilet.notification');
        $notif = $manager->createNotification('Nouveau candidat !');
        $notif->setMessage('X a entré un candidat');
        $notif->setLink('http://symfony.com/');
        $manager->addNotification(array($this->getUser()), $notif, true);

        return $this->redirectToRoute('index');

И это то, что я добавил в веточку {{mgilet_notification_render (app.user)}}}

Но после добавления annonce я вижу эту ошибку

Служба "mgilet.notification" не найдена: даже если она существует в контейнере приложения, контейнер внутри "App \ Controller \ TestController" является меньшим локатором службы, который знает только о "доктрине",«form.factory», «http_kernel», «parameter_bag», «request_stack», «router», «security.authorization_checker», «security.csrf.token_manager», «security.token_storage», «serializer», «session»,услуги шаблонов и веток.Попробуйте вместо этого использовать внедрение зависимостей.

1 Ответ

0 голосов
/ 11 апреля 2019

В функции контроллера попробуйте использовать внедрение зависимости вместо этого:

public function controllerFunction(Mgilet\NotificationBundle\Manager\NotificationManager $manager)
{
    $notif = $manager->createNotification('Nouveau candidat !');
    $notif->setMessage('X a entré un candidat');
    $notif->setLink('http://symfony.com/');
    $manager->addNotification(array($this->getUser()), $notif, true);

    return $this->redirectToRoute('index');
}
...