2015-06-19 131 views
1

我已经安装了ADESIGN日历捆绑并遵循相同的设置记录在这里:https://github.com/adesigns/calendar-bundleSymfony2的事件监听器不叫 - ADESIGN日历捆绑

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

我没有得到一个控制台的错误,但在Symfony的探查我发现这一点:

不调用监听

事件: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

(我知道这上课会被打电话,因为我可以从wi回应薄呢 - 里面的类,但下面的方法不)

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

你可以分享你的整个服务类'CalendarEventListener.php' – Baig

+1

喜, 感谢回复!我已经更新了原始代码以显示完整的课程。 –

+1

出于好奇心,不应该让你的监听器实现'EventSubscriberInterface',那么你需要在你的事件监听器'getSubscribedEvents()'中创建一个函数,然后告诉'kernel.request'运行什么函数 – Baig

回答

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

尝试为您服务的代码,与缩进