Ergebnis 1 bis 10 von 10

Thema: Kalendername in der Eventliste ausgeben lassen.

  1. #1
    Contao-Fan
    Registriert seit
    08.03.2010.
    Beiträge
    451

    Frage Kalendername in der Eventliste ausgeben lassen.

    hallo,
    ich habe 5 verschiedene kalender. in der eventlist würde ich gerne zusätzlich zum den event-details den namen des Kalenders ausgeben lassen.

    geht das?.

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, das geht. Wenn die Variable nicht bereits von dem Template angeboten wird ($this->showTemplateVars()), dann musst du sie über ein CalendarModel holen. Die ID des Kalenders ist nämlich AFAIR vorhanden. Such mal hier im Forum, das ist schon mehrmals erklärt worden. Und bei den Docs findest du erklärt, wie man mit den Models auf Datensätze zugreift.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Fan
    Registriert seit
    08.03.2010.
    Beiträge
    451

    Daumen hoch Danke!

    showTemplateVars hat mich auf den richtigen weg gebracht.

  4. #4
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    493

    Standard

    Zitat Zitat von atomfried Beitrag anzeigen
    showTemplateVars hat mich auf den richtigen weg gebracht.
    @atomfried:

    Wie hast du das letztendlich gelöst. Wäre schön wenn du auch andere am Ergebnis teilhaben lässt

    showtemplatevars bringt mir nur

    Code:
    [cal_calendar] => a:5:{i:0;s:1:"2";i:1;s:1:"4";i:2;s:1:"3";i:3;s:1:"5";i:4;s:1:"1";}
    kann damit nicht so viel anfangen...

    Danke.

  5. #5
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das ist ein serialisiertes Array, welches die IDs der Kalender aus dem Modul enthält und das man so in ein Array umformen könnte,
    PHP-Code:
    $calCalendarsArray deserialize($this->cal_calendar); 
    wenn man im Listentemplate da rankommen würde. Aber ich meine dies geht nicht, weil es in einem geschützten Model steckt.
    Code:
    [objModel:protected]
    Wenn man im Listenmodul im Event-Template den Kalender-Titel jedes einzelnen Events ausgeben möchte, kann man das so:
    PHP-Code:
    <?= $this->calendar->title ?>
    Im individuellen Template (mod_eventlist-mod.html5) käme man an alle Kalender des Moduls ran.
    PHP-Code:
    dump($this->cal_calendar); // ein Array mit den IDs.

    // In einer Schleife die Titel von allen Kalendern holen
    $calendarTitles = array();
    foreach(
    $this->cal_calendar as $calendarId)
    {
      
    $calendarTitles[] = \CalendarModel::findByPk($calendarId)->title;
    }

    // Ausgabe Komma getrennt
    echo implode(', '$calendarTitles); 
    Ungetestet.
    Geändert von Andreas (24.07.2017 um 14:15 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  6. #6
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    493

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Wenn man im Listenmodul im Event-Template den Kalender-Titel jedes einzelnen Events ausgeben möchte, kann man das so:
    PHP-Code:
    <?= $this->calendar->title ?>
    Funktioniert im Listenmodul. Dort brauche ich das aber nicht unbedingt. Dort habe ich das per css gemacht (.cal_xy)

    Bräuchte die Anzeige im event_full.html5 aber dort greift das alles leider nicht..

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das Template ist egal, ob event_list, event_full, event_foo ...

    In diesem Thread ist nach dem Eventlisten-Modul gefragt. Wenn du eine Lösung für das Eventleser-Modul suchst, hättest du dies erwähnen müssen.

    So kommt man im Eventleser da ran:
    PHP-Code:
    <?= \CalendarModel::findByPk($this->pid)->title ?>
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  8. #8
    Contao-Nutzer Avatar von Bino
    Registriert seit
    14.01.2011.
    Beiträge
    142

    Standard

    Hallo zusammen,
    ähnliches Problem bei mir: Ich würde gerne in der Kalenderansicht den Einträgen eine Klasse zuweisen, je nachdem aus welchem Archiv der Eintrag kommt.
    Also mir würde reichen wenn die Klasse dem Archivnamen entspricht. Kann mir da jemand weiterhelfen?

  9. #9
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Da ist bereits eine Klasse vorhanden. Z.b. cal_1 für Kalender mit der ID 1.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  10. #10
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Ich würde gerne den Kalendernamen in der Kalenderansicht einbauen. (cal_default.html5)

    Ich dachte ich probiers mal mit
    HTML-Code:
    <div class="event cal_<?= $event['parent'] ?><?= $event['class'] ?>" itemscope itemtype="http://schema.org/Event">
                  <a href="<?= $event['href'] ?>" title="[B]<?= $this->calendar->title ?>[/B]<?= $event['title'] ?> (<?php if ($event['day']) echo $event['day'] . ', '; ?><?= $event['date'] ?><?php if ($event['time']) echo ', ' .  $event['time']; ?>)"<?= $event['target'] ?> itemprop="url"><span itemprop="name"><?= $event['link'] ?></span></a>
                </div>
    aber das ist es wohl nicht.
    Gruß Mark

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •