Я начинающий веб-программист с symfony, и я боролся с пакетом Ancarebeca, который представляет собой календарь, который позволяет вам обрабатывать события, используя сущность со всеми необходимыми полями («и это то, что я понимаю до сих пор»). ).
Я попытался воспроизвести пример, который показывает сама anca rebeca в своем хранилище, но не могу найти для отображения события, которые хранятся в моей базе данных, когда при перезагрузке страницы сообщение отладчика показывает ошибку 404, говорящую о том, что запрошенный URL / полный календарь / загрузка не найден на этом сервере. вот что у меня есть в коде («взятый из примера, отображаемого в github»).
прослушиватель событий:
<?php
namespace UserBundle\EventListener;
use AncaRebeca\FullCalendarBundle\Event\CalendarEvent;
use AncaRebeca\FullCalendarBundle\Model\Event;
use AncaRebeca\FullCalendarBundle\Model\FullCalendarEvent;
use UserBundle\Entity\EventCustom;
use Doctrine\ORM\EntityManager;
class LoadDataListener
{
/**
* @var EntityManager
*/
private $em;
public function __construct(EntityManager $em)
{
$this->em = $em;
}
/**
* @param CalendarEvent $calendarEvent
*
* @return FullCalendarEvent[]
*/
public function loadData(CalendarEvent $calendarEvent)
{
// You can retrieve information from the event dispatcher (eg, You may want which day was selected in the calendar):
// $startDate = $calendarEvent->getStart();
// $endDate = $calendarEvent->getEnd();
// $filters = $calendarEvent->getFilters();
// You may want do a custom query to populate the events
// $currentEvents = $repository->findByStartDate($startDate);
$repository = $this->em->getRepository('UserBundle:EventCustom');
$schedules = $repository->findAll();
// You may want to add an Event into the Calendar view.
/** @var Schedule $schedule */
foreach ($schedules as $schedule) {
$calendarEvent->addEvent(new Event($schedule->getTitle(), $schedule->getStart()));
}
}
}
субъект:
<?php
namespace UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="UserBundle\Repository\EventCustomRepository")
* @ORM\Entity
* @ORM\Table(name="event")
*/
class CalendarEvent
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
/**
* @var \DateTime
*
* @ORM\Column(name="start", type="datetime")
*/
private $start;
/**
* @var \DateTime
*
* @ORM\Column(name="end", type="datetime")
*/
private $end;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set title
*
* @param string $title
*
* @return Schedule
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* @return \DateTime
*/
public function getStart()
{
return $this->start;
}
/**
* @return \DateTime
*/
public function getEnd()
{
return $this->end;
}
/**
* @param \DateTime $start
*/
public function setStart($start)
{
$this->start = $start;
}
/**
* @param \DateTime $end
*/
public function setEnd($end)
{
$this->end = $end;
}
}
my services.yml:
user_bundle.service.listener:
class: UserBundle\EventListener\LoadDataListener
arguments: ["@doctrine.orm.entity_manager"]
tags:
- { name: kernel.event_listener, event: fullcalendar.set_data, method: loadData }