Contao-Camp 2024
Ergebnis 1 bis 11 von 11

Thema: Wiederkehrende Events in Eventliste ausblenden

  1. #1
    Contao-Fan
    Registriert seit
    31.01.2016.
    Ort
    Kaufbeuren
    Beiträge
    473

    Standard Wiederkehrende Events in Eventliste ausblenden

    Hallo zusammen,

    gibt es in Contao eine Möglichkeit die wiederkehrenden Events in der Eventliste auszublenden? Wobei aber diese wiederkehrenden Events im Kalender weiterhin angezeigt werden sollen. Gibt es hierzu vielleicht eine Erweiterung, die das bewerkstelligen kann?
    Ich hab es mal per CSS mit display:none versucht, was zwar funktionieren würde, aber die Farbreihenfolge der Hintergrundfarben von even und odd stimmen dann teilweise nicht mehr. Der Grund ist der, dass diese Events im Hintergrund weiterhin vorhanden sind und deshalb ihre ursprüngliche Reihenfolge beibehalten wird. Gibt es vielleicht eine Lösung, damit even und odd nicht auf die im Hintergrund befindlichen Events angewendet wird. Für hinweise und Tipps zur Lösung meines Anliegens wäre ich sehr dankbar.


    Gruß
    Thomas

  2. #2
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.075
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Im Template erst gar nicht ausgeben?

  3. #3
    Contao-Fan
    Registriert seit
    31.01.2016.
    Ort
    Kaufbeuren
    Beiträge
    473

    Standard

    Danke für die Info. Im Template werden die wiederkehrenden Events nicht speziell eingeblendet, sondern alle Events werden mit dem nachfolgendem Code gemeinsam ausgegeben.

    PHP-Code:
    <div class="event layout_list<?= $this->classList ?>" itemscope itemtype="http://schema.org/Event"></div>
    Jetzt meine eigentliche Frage: Kann man mit dem Template "Div's" mit einer bestimmten "class" ausblenden? Ansonsten bleibt eigentlich nur, dass man einen eigenen Kalender anlegt für diese Events. Diesen Kalender im Kalendermodul mit einbindet und im Modul Eventliste nicht auswählt. Eine Lösung mit dem Template wäre natürlich viel besser, da kein eigener Kalender für wiederkehrende Events angelegt werden müsste.
    Danke!


    Gruß
    Thomas

  4. #4
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.939

    Standard

    Zitat Zitat von Thomasge Beitrag anzeigen
    Jetzt meine eigentliche Frage: Kann man mit dem Template "Div's" mit einer bestimmten "class" ausblenden?
    Ja. Entweder per CSS mittels dieser class auf display: none setzen oder vielleicht besser im Template gleich gar nicht ausgeben indem man prüft, ob die class in $this->classList vorkommt. In etwa so:

    PHP-Code:
    if (strpos($this->classList'gesuchteKlasse')!==false) { 
       
    /* wiederkehrendes Event, identifiziert durch 'gesuchteKlasse' nicht ausgeben */ 
    } else {
      
    /* wie zuvor im Template ausgeben */

    Edit: fix typo: strpost() muss natürlich strpos() sein
    Geändert von fiedsch (31.08.2019 um 18:36 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  5. #5
    Contao-Fan
    Registriert seit
    31.01.2016.
    Ort
    Kaufbeuren
    Beiträge
    473

    Standard

    Danke für die Info, die Variante mit dem Template würde mir schon besser gefallen. Aber wenn ich dies in mein Template einbaue erhalte ich immer eine Fehlermeldung "Synrax error unexpected T_IF". Woran könnte die liegen? Hier mal mein gesamter originaler Template Code.

    PHP-Code:
    <div class="event layout_list<?= $this->classList ?>" itemscope itemtype="http://schema.org/Event">
      <div class="list_date"><p><?php echo $this->parseDate("d.m.Y "$this->startDate); ?></p></div>
      <div class="list_day"><p><?php echo $this->parseDate("D. "$this->startDate); ?></p></div>
      <div class="list_time"><p><?php echo $this->parseDate("H:i "$this->startMeet); ?> Uhr</p></div>
      <div class="list_member"><p><?php echo $this->membership?></p></div>
      <div class="list_place"><p><?php echo $this->localplace?></p></div>
      <div class="list_action"><p><?php echo $this->actiontitle?></p></div>
      
        <?php if ($this->detailinfo): ?>
        <?= $this->details ?><div class="list_info"><p><a href="<?= $this->href ?>" title="Detailansicht aufrufen"<?= $this->target ?> itemprop="url"></a></p></div>
        <?php endif; ?>
      
    </div>

    Gruß
    Thomas

  6. #6
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.939

    Standard

    Mit Deinem obigen Template sehe/bekomme ich keinen "unexpected T_IF" Fehler. Wie hattest Du die if-Abfrage denn eingebaut?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  7. #7
    Contao-Fan
    Registriert seit
    31.01.2016.
    Ort
    Kaufbeuren
    Beiträge
    473

    Standard

    Ich habe es mit folgendem Code und anderen Varianten versucht.

    PHP-Code:
    <div class="event layout_list<?= if (strpos($this->classList'event_series')!==false) {
    } else 
    $this->classList 
    ?>" itemscope itemtype="http://schema.org/Event">
      <div class="list_date"><p><?php echo $this->parseDate("d.m.Y "$this->startDate); ?></p></div>
      <div class="list_day"><p><?php echo $this->parseDate("D. "$this->startDate); ?></p></div>
      <div class="list_time"><p><?php echo $this->parseDate("H:i "$this->startMeet); ?> Uhr</p></div>
      <div class="list_member"><p><?php echo $this->membership?></p></div>
      <div class="list_place"><p><?php echo $this->localplace?></p></div>
      <div class="list_action"><p><?php echo $this->actiontitle?></p></div>
     
        <?php if ($this->detailinfo): ?>
        <?= $this->details ?><div class="list_info"><p><a href="<?= $this->href ?>" title="Detailansicht aufrufen"<?= $this->target ?> itemprop="url"></a></p></div>
        <?php endif; ?>
     
    </div>

  8. #8
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.939

    Standard

    Wenn ich es richtig sehe, ist das das Gleiche, wie in #5. Und mit diesem Template-Code bekommst Du die "unexpected T_IF" Meldung? Oder war das bei einer anderen Versoion? Falls ja, was hattest Du dort stehen?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  9. #9
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.551
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Anstelle von

    PHP-Code:
    <?= if
    musst Du
    PHP-Code:
    <?php if
    in der ersten Zeile schreiben.
    Geändert von xchs (31.08.2019 um 21:01 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.939

    Standard

    Danke xchs!

    Und dazu ergibt das Template so m.E. wenig Sinn. Ich denke, Du willst eher so etwas:

    PHP-Code:
    <?php if (strpos($this->classList'event_series')!==false): ?>
      <!-- nichts ausgeben -->
    <?php else: ?>
      <div class="event layout_list <?=$this->classList ?>" itemscope itemtype="http://schema.org/Event"> 
        <!-- ... -->
      </div> 
    <?php endif; ?>
    Geändert von xchs (31.08.2019 um 21:14 Uhr) Grund: Tippfehler korrigiert
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  11. #11
    Contao-Fan
    Registriert seit
    31.01.2016.
    Ort
    Kaufbeuren
    Beiträge
    473

    Standard

    Vielen Dank, hat super geklappt. Jetzt brauch ich keine separate Kalender anlegen für die Serientermine.


    Gruß
    Thomas

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
  •