Ergebnis 1 bis 9 von 9

Thema: Veranstaltungen/Events überspringen

  1. #1
    Contao-Fan Avatar von Nils Riel
    Registriert seit
    19.06.2009.
    Beiträge
    730

    Standard Veranstaltungen/Events überspringen

    Hey!

    Ich suche nach einer Lösung wie bei den Nachrichten eine gewisse Anzahl an Events/Veranstaltungen überspringen zu können. Leider ist diese Funktion (noch?) nicht vorhanden. Hat sich darüber schonmal jemand Gedanken gemacht?
    Das Ziel ist es, immer nur das erste Event einer Eventlist zu zeigen und darunter ein Akkordeon zu setzen, mit Hilfe dessen alle weiteren Events angezeigt werden.
    Bei den Nachrichten habe ich es so gelöst, dass ich 2 Newslists erstellt habe und bei der ersten nur eine News anzeige und bei der zweiten Liste die erste News überspringe.

    Habt ihr einen Rat?

  2. #2
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Hi Nils,

    hast Du für das Problem damals eine Lösung gefunden? Ich hatte einem meiner Kollegen gestern empfohlen ein separates Template anzulegen und einen globalen Zähler einzubinden.
    PHP-Code:
    $GLOBALS["eventzaehler"]++ 
    In einer nachfolgenden Abfrage werden erst bei entsprechendem Zählerstand die Events ausgegeben.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  3. #3
    Contao-Nutzer
    Registriert seit
    12.11.2012.
    Beiträge
    41

    Standard

    Mich würde ebenfalls interessieren, wie man in einem Template (z.B. event_upcoming.html5) Events überspringt. Mit meinen bescheidenen PHP Kentnissen komme ich da nicht weiter.

    Hab die aktuellste calendar_extended Eweiterung, wo es ja <?php echo $this->eventcount; ?> gibt. Vielleicht hilft das ja weiter.
    Geändert von edge (23.06.2015 um 12:54 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    20.11.2013.
    Beiträge
    202

    Standard

    Man könnte auch das erste (bzw. alle außer das erste) per CSS ausblenden. Das erste in der Liste hat bei Contao ja eine extra Klasse.

    D.h. man arbeitet irgendwie mit
    Code:
    .first{
        display:none;
    }
    oder mit CSS3: http://www.w3schools.com/cssref/sel_nth-child.asp
    Da kann man wirklich Elemente Abzählen.

    PHP-Lösung im Template wäre natürlich eleganter.

    Viele Grüße
    hippo

  5. #5
    Contao-Fan
    Registriert seit
    07.04.2010.
    Beiträge
    273

  6. #6
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hi,

    ich denke, es wäre am einfachsten z.B. im Template event_upcoming.html5 auf die Klasse "first" zu reagieren.

    PHP-Code:
    $this->classUpcoming 
    Wenn die Klasse "first" enthält, ist es das erste Event. Damit kann man doch in dem Template gut arbeiten.

    Müsste ca. so aussehen...

    PHP-Code:
    <?php if (strpos($this->classUpcoming,'first') !== false): ?>
        // hier ist das erste Events...
        <div class="event layout_upcoming<?= $this->classUpcoming ?>">
            <span class="date"><?= $this->date ?></span>
            <a href="<?= $this->href ?>" title="<?= $this->title ?> (<?php if ($this->day) echo $this->day ', '?><?= $this->date ?><?php if ($this->time) echo ', ' $this->time;?>)"<?= $this->target ?>><?= $this->link ?></a>
        
            <?php if ($this->time): ?>
                <span class="time">(<?= $this->time ?>)</span>
            <?php endif; ?>
        </div>
    <?php else: ?>
        // ... hier kommen die anderen Events hin...
    <?php endif; ?>
    Gruß
    Kester
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  7. #7
    Contao-Nutzer
    Registriert seit
    12.11.2012.
    Beiträge
    41

    Standard

    Das sieht schon ganz gut aus. Ich möchte gern die kommenden 3 Events normal ausgeben und alle weiteren in ein Akkordeon packen, welches dann unter der Tabelle ausfahrbar ist. Ich bräuchte also die IF Abfrage, die mir die kommenden 3 Events ausgibt und in die ELSE den Rest packt.

  8. #8
    Alter Contao-Hase Avatar von kmielke
    Registriert seit
    21.06.2009.
    Beiträge
    1.173

    Standard

    Hallo edge,

    out of the box gibt es nur first und last. Deine gewünschte IF-Abfrage kannst du mit dem Konstrukt nicht nachbauen. Da musst du was anderes bauen...

    Gruß Kester


    Gesendet von meinem iPad mit Tapatalk
    Gruß Kester

    Kein Support via PN ohne vorherige Absprache.

  9. #9
    Contao-Nutzer
    Registriert seit
    12.11.2012.
    Beiträge
    41

    Standard

    eigentlich ist es mit Bordmitteln und etwas CSS doch gar nicht so schwer:

    1. 2 Eventlist-Module anlegen, eins zeigt nur 4 an, das zweite zeigt alle an und bekommt die Klasse nextevents
    2. erstes Modul in Artikel anzeigen
    3. zweites Modul im Artikel anzeigen und ein Akkordeon-Umschlag ringsrum

    mittels CSS kann man die ersten 4 Events überspringen:
    .nextevents > div:nth-child(-n+4) {display:none;}
    Geändert von edge (03.07.2015 um 15:49 Uhr)

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
  •