未调用Symfony2事件侦听器-Adesign日历包
我已经安装了Adesign日历捆绑包,并按照此处记录的安装说明进行了操作: 我的问题是,在我试图显示日历的模板中,它生成了一个名为#calendar holder的空div,其中没有日历 我没有收到控制台错误,但在Symfony Profiler中我发现了以下内容: 未调用的侦听器 事件:calendar.load\u事件 侦听器:CalendarEventListener::loadEvents 我是Symfony的新手,所以我不太确定这意味着什么——我想我已经正确注册了我的事件侦听器 任何建议都将不胜感激 谢谢, 汤姆 我的代码如下: Services.yml未调用Symfony2事件侦听器-Adesign日历包,symfony,calendar,event-listener,Symfony,Calendar,Event Listener,我已经安装了Adesign日历捆绑包,并按照此处记录的安装说明进行了操作: 我的问题是,在我试图显示日历的模板中,它生成了一个名为#calendar holder的空div,其中没有日历 我没有收到控制台错误,但在Symfony Profiler中我发现了以下内容: 未调用的侦听器 事件:calendar.load\u事件 侦听器:CalendarEventListener::loadEvents 我是Symfony的新手,所以我不太确定这意味着什么——我想我已经正确注册了我的事件侦听器 任何建
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
(我知道这个类会被调用,因为我可以从它内部进行回音-但是下面的类内部方法不会)
为您的服务尝试此代码,使用缩进
为您的服务尝试此代码,使用缩进功能您可以共享您的整个服务类
CalendarEventListener.php
Hi,谢谢您的回复!我已经更新了我的原始代码以显示完整的类。只是出于好奇,您的侦听器不应该实现EventSubscriberInterface
一旦这样做,您就需要在事件侦听器getSubscribedEvents()中创建一个函数
然后告诉内核.request
要运行的函数看起来好像没有抛出事件。您确定已将捆绑包添加到AppKernel
?我遇到了同样的问题--您找到答案了吗?谢谢您能否共享您的整个服务类CalendarEventListener.php
Hi,谢谢您的回复!我已经更新了我的原始代码以显示完整的类。只是出于好奇,您的侦听器不应该实现EventSubscriberInterface
一旦这样做,您就需要在事件侦听器getSubscribedEvents()中创建一个函数
然后告诉内核.request
要运行的函数看起来好像没有抛出事件。您确定已将捆绑包添加到AppKernel
?我遇到了同样的问题--您找到答案了吗?谢谢您能否共享您的整个服务类CalendarEventListener.php
Hi,谢谢您的回复!我已经更新了我的原始代码以显示完整的类。只是出于好奇,您的侦听器不应该实现EventSubscriberInterface
一旦这样做,您就需要在事件侦听器getSubscribedEvents()中创建一个函数
然后告诉内核.request
要运行的函数看起来好像没有抛出事件。您确定已将捆绑包添加到AppKernel
?我遇到了同样的问题--您找到答案了吗?谢谢
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);
}
}
services:
kernel.listener.allotaxi_exception_listener:
class: FrontendBundle\Listener\CalendarEventListener
arguments: [@templating, @kernel]
tags:
- { name: kernel.event_listener, event: kernel.exception, method: onKernelException }