ilch Forum » Ilch CMS 2.X » Module und Modifikationen » Tutorial - Modifikation des Event Moduls

Geschlossen
  1. #1
    User Pic
    kugelschubs-neu Mitglied
    Registriert seit
    22.09.2018
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    Hallo liebe ilch-Gemeinde,

    hab heute das Event-Modul angepasst.
    In unserem Spiel gibt es Events, welche oftmals über mehrere Tage laufen.
    Und ich wollte auch das man sich noch während des laufenden Events eintragen / anmelden kann.

    Zu den
    - kommenden Events (upcoming)
    - gelaufenen Events (past)

    hab ich
    - laufende Events (enduring)

    ..hinzugefügt.

    gesperrtes Bild

    In diesem Tutorial beschreibe ich Euch wie Ihr das ebenfalls bewerkstelligen könnt.
    Grundwissen in Handhabung von FTP Programm / besser noch Texteditor wie PSPad,
    sowie Grundkenntnisse Programmierung setze ich voraus.

    Schritt 1

    Zu ändernde Datei:
    /application/modules/events/views/show/event.php

    Zeile 58
    1
    <?php if ($this->getUser() AND $event->getStart() > new \Ilch\Date()): ?>


    ändern in:
    1
    <?php if ($this->getUser() AND $event->getEnd() > new \Ilch\Date()): ?>


    Damit haben wir schon erreicht das man sich noch während eines laufenden Events eintragen kann.

    gesperrtes Bild




    Schritt 2

    Folgenden Ordner öffnen:
    /application/modules/events/views/show/

    Neue (leere) Datei anlegen mit folgendem Namen: enduring.php

    Folgenden Code in die leere Datei einfügen und danach speichern:




    Schritt 3

    Zu ändernde Datei:
    /application/modules/events/translations/de.php

    ca. Zeile 29 (genaue Zeilenzahl dabei nicht so wichtig) neue Zeile mit folgendem Code einfügen:
    1
    'menuEventEnduring' => 'Laufende Events',


    Bemerkung: Du kannst es selbstverständlich auch "Laufende Events" oder etwas anderes Deiner Wahl nennen - Eintrag erscheint später direkt in der Eventliste über den laufenden Events als Überschrift.

    ca. Zeile 50 (genaue Zeilenzahl dabei nicht so wichtig) neue Zeile mit folgendem Code einfügen:
    1
    'naviEventsEnduring' => 'Laufende',


    Danach Datei speichern

    Bemerkung: Du kannst dies ebenfalls benennen wie Du möchtest - erscheint später oben im Eventmenü.

    Die gleiche Aktion (2 Einträge) führst Du auch in der en.php und, falls Du weitere hast, auch weiteren Sprachdateien durch - natürlich in der jeweiligen Sprache, z.B. 'Enduring Events' und 'Enduring' für die en.php




    Schritt 4

    Zu ändernde Datei:
    /application/modules/events/controllers/Index.php

    ca. Zeile 31 - suche folgenden Code:
    1
    $upcomingLimit = 5;


    Nach dieser Codezeile machst du einen Zeilenumbruch und fügst folgenden Code ein:
    1
    $enduringLimit = 5;


    ca. Zeile 49 - suche folgenden Code:
    1
    ->set('eventListUpcoming', $eventMapper->getEventListUpcoming($upcomingLimit))


    Nach dieser Codezeile machst du einen Zeilenumbruch und fügst folgenden Code ein:
    1
    ->set('eventListEnduring', $eventMapper->getEventListEnduring($enduringLimit))


    Danach Datei speichern



    Schritt 5

    Zu ändernde Datei:
    /application/modules/events/controllers/Show.php

    ca. Zeile 150 - hier sollte eine Leerzeile sein - füge folgenden Code ein:


    Danach Datei speichern



    Schritt 6

    Zu ändernde Datei:
    /application/modules/events/mappers/Events.php

    Öffne die Datei und lösche den kompletten Inhalt, danach folgenden Code einfügen


    Danach Datei speichern




    Schritt 7

    Zu ändernde Datei:
    /application/modules/events/views/index/navi.php

    ca. Zeile 23 - suche folgenden Code:
    1
    <li <?php if ($this->getRequest()->getActionName() == 'upcoming') { echo 'class="active"'; } ?>><a href="<?=$this->getUrl(['controller' => 'show', 'action' => 'upcoming']); ?>"><i class="fa fa-history fa-flip-horizontal"></i>&nbsp; <?=$this->getTrans('naviEventsUpcoming') ?></a></li>


    Nach dieser Codezeile machst du einen Zeilenumbruch und fügst folgenden Code ein:
    1
    <li <?php if ($this->getRequest()->getActionName() == 'enduring') { echo 'class="active"'; } ?>><a href="<?=$this->getUrl(['controller' => 'show', 'action' => 'enduring']); ?>"><i class="glyphicon glyphicon-hourglass"></i>&nbsp; <?=$this->getTrans('naviEventsEnduring') ?></a></li>


    Danach Datei speichern

    Danach erscheinen die Laufenden Events auch in der Navigation, sieht dann so aus:
    gesperrtes Bild





    Ich hoffe, ich hab nichts vergessen, war zu faul ein Changelog anzulegen weil es schnell gehn musste.
    Die Änderungen macht ihr auf eigene Gefahr,
    übernehme keine Haftung für Richtigkeit, Funktionalität oder etwaige Schäden.
    Lasst mich wissen wenn ihr es "verbaut" habt und Freude daran habt.

    LG
    kugelschubs
    LEGENDS NEVER DIE - DESERT OPERATIONS ALLIANZ


    Zuletzt modifiziert von kugelschubs-neu am 14.10.2018 - 11:57:03
    1 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    kugelschubs-neu Mitglied
    Registriert seit
    22.09.2018
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    Hab noch was vergessen.

    Wer in der Eventliste den Hintergrund des Datums ändern möchte (war vorher so ein komisches Rosa glaub ich),
    der kann dies hier tun:


    Zu ändernde Datei:
    /application/modules/events/static/css/events.css

    ca. Zeile 17, suche:
    1
    .event-list > li > time


    darunter, ca. Zeile 21, findest Du background-color.
    Hier kannst Du Deine gewünschte Hintergrundfarbe eintragen,
    alternativ natürlich auch mit einem Hex-Wert, muss nicht rgb Wert sein.

    Oder, wie ich es gemacht habe, einen CSS Farbverlauf, siehe meinen Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    .event-list > li > time {
        display: inline-block;
        width: 100%;
        color: rgb(255, 255, 255);
        background: #000000; /* Alte Browser */
        background: -moz-linear-gradient(top, #000000 0%, #c40000 100%); /* Alte FF */
        background: -webkit-linear-gradient(top, #000000 0%,#c40000 100%); /* Alte Chrome + Safari */
        background: linear-gradient(to bottom, #000000 0%,#c40000 100%); /* Moderne Browser */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#c40000',GradientType=0 ); /* IE6-9 */
        padding: 5px;
        text-align: center;
        text-transform: uppercase;
    }



    Zuletzt modifiziert von kugelschubs-neu am 13.10.2018 - 21:58:21
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Hast du den eine Kopie vom Modul angelegt? nicht das es durch ein Update ausersehen überspielt wird.

    Danke fürs Tutorial das Hilft anderen Users bestimmt
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    kugelschubs-neu Mitglied
    Registriert seit
    22.09.2018
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Siggi
    Hast du den eine Kopie vom Modul angelegt? nicht das es durch ein Update ausersehen überspielt wird.

    Danke fürs Tutorial das Hilft anderen Users bestimmt


    Hallo Siggi,

    hab mir gerade ein Backup des Modulordners angelegt.

    Vielleicht erwägt Ihr ja meine Änderungen ins nächste Update zu übernehmen?

    LG

    Peter alias kugelschubs
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Ich hab es vorhin nur grob überflogen aber werde es mir morgen mal genau anschauen
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    kugelschubs-neu Mitglied
    Registriert seit
    22.09.2018
    Beiträge
    8
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Siggi
    Ich hab es vorhin nur grob überflogen aber werde es mir morgen mal genau anschauen


    und?
    ist es würdig für das nächste Update? lachen
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten