Как обрабатывать события с помощью календарных пакетов в Symfony 3.3.5? - PullRequest
0 голосов
/ 17 сентября 2018

Я начинающий веб-программист с 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 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...