Skip to content

Doku Entwickler Kalender

René Schirmer edited this page Feb 1, 2020 · 3 revisions

Termine/Events im Kalender anzeigen (in Bearbeitung)


Inhaltsverzeichnis

Voraussetzung: Kalender (calendar) Module

Um eigene Termine oder Events im Kalender (calendar) Module anzeigen zu lassen benötigt es nur ein paar Schritte im eigenen Module.

Controllers

Um die Termine im Kalender anzeigen zu lassen müsst Ihr mit den Controller eure Einträge aus der Datenbank lesen.

<?php
/**
 * @copyright Ilch 2.0
 * @package ilch
 */

namespace Modules\Events\Controllers;

use Modules\Events\Mappers\Events as EventsMapper;

class Events extends \Ilch\Controller\Frontend
{
    public function indexAction()
    {
        $eventsMapper = new EventsMapper();

        $this->getLayout()->setFile('modules/calendar/layouts/events');

        $this->getView()->set('eventList', $eventsMapper->getEntriesForJson($this->getRequest()->getQuery('start'), $this->getRequest()->getQuery('end')));
    }
}

Views

Nun brauchen wir für den Controller auch eine View indem man ein Array mit eure Termine aufbaut. Im Veranstaltungen (events) Module wurde diese unter "application/modules/events/views/events/" abgelegt.

<?php
$events = [];

// event entries
if ($this->get('eventList')) {
    foreach ($this->get('eventList') as $eventList) {
        $e = [];
        $e['title'] = $this->escape($eventList->getTitle());
        $e['start'] = $eventList->getStart();
        $e['end'] = $eventList->getEnd();
        $e['color'] = '#C52C66';
        $e['url'] = $this->getUrl('events/show/event/id/' . $eventList->getId());

        array_push($events, $e);
    }
}

echo json_encode($events);

Hier werden alle Veranstaltungen in ein Array geschrieben welches mit Informationen von der Veranstaltung gefüllt wird.

Pflicht

$e['title']

Durch $e['title'] = 'Titel'; bekommt der Termin im Kalender einen Title welches beim Veranstaltungen (events) Module der Veranstaltungsname ist.

$e['start']

Um einen Startzeitpunkt (Datum/Uhrzeit|2007-02-08 15:18:21) des Termines anzugeben benötigen wir $e['start'] = '2017-03-27 15:00:00'.

$e['end']

Das Ende des Termines geben wir mit $e['end'] = '2017-03-27 17:00:00' an.

Optional

$e['color']

Um den Kalendereintrag eine Farbe (Hexcode) zu geben kann man dies mit der Angabe durch $e['color'] = '#C52C66' machen.

$e['url']

Mit der Angabe von $e['url'] = 'http://meineSeite.de' können wir den Kalendereintrag verlinken.

Wiki für ilch-2

Benutzer

  • Inhaltsverzeichnis
    Hier findet man u.a. die Installationsanleitung, sowie Fehler- und Problem-behebungen

Entwickler

  • Inhaltsverzeichnis
    Hier findet man Informationen zum Script, Konzept und dem Programmierstil

Designer

  • Inhaltsverzeichnis
    Hier findet man Informationen über den Aufbau und Anpassung von Layouts und Modulen

Video-Tutorials


Clone this wiki locally