未调用Symfony2事件侦听器 - Adesign Calendar Bundle

时间:2015-06-19 09:24:33

标签: symfony calendar event-listener

我已经安装了Adesign Calendar Bundle并按照此处记录的设置说明进行操作:https://github.com/adesigns/calendar-bundle

我的问题是,在我试图显示日历的模板中,它正在生成一个名为#calendar-holder的空div,其中没有日历。

我没有收到控制台错误,但在Symfony Profiler中我发现了这个:

未调用的听众

事件:calendar.load_events

监听器:CalendarEventListener :: loadEvents

我是Symfony的新手,所以我不太清楚这意味着什么 - 我想我已经正确注册了我的事件监听器。

非常感谢任何建议!

谢谢, 汤姆

我的代码如下:

Services.yml

kernel.listener.calendar_listener:
    class: FrontendBundle\Listener\CalendarEventListener
    tags:
    - { name: kernel.event_listener, event: calendar.load_events, method: loadEvents }
    arguments: [@doctrine.orm.entity_manager, @service_container]

事件侦听器类 - CalendarEventListener.php

(我知道这个类被调用,因为我可以在其中回显 - 但是类中的下面的方法没有)

namespace FrontendBundle\Listener;

use ADesigns\CalendarBundle\Event\CalendarEvent;
use ADesigns\CalendarBundle\Entity\EventEntity;
use Doctrine\ORM\EntityManager;

class CalendarEventListener
{
private $entityManager;

public function __construct(EntityManager $entityManager)
{
    $this->entityManager = $entityManager;
}

public function loadEvents(CalendarEvent $calendarEvent)
{

    /* Test data */
    $beginDatetime = new \DateTime('2012-01-01 00:00:00');
    $endDatetime = new \DateTime('2012-05-01 00:00:00');
    $eventTitle = "Test Title 1";

    $eventEntity = new EventEntity($eventTitle, $beginDatetime, null, true);

    $calendarEvent->addEvent($eventEntity);

}
}

1 个答案:

答案 0 :(得分:0)

services:
    kernel.listener.allotaxi_exception_listener:
        class: FrontendBundle\Listener\CalendarEventListener
        arguments: [@templating, @kernel]
        tags:
        - { name: kernel.event_listener, event: kernel.exception, method: onKernelException }

使用缩进

为您的服务尝试此代码