Ergebnis 1 bis 15 von 15

Thema: Events: Datum: Verschiedene Ausgabemethoden in einem Template

  1. #1
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard Events: Datum: Verschiedene Ausgabemethoden in einem Template

    Hallo Community!

    in der event_full.tpl steht bei mir zum Datum folgender Abschnitt:

    PHP-Code:
    <p class="info">
    <?php if (strpos($this->class'future' )): ?> 
    <?php $this->span ucfirst($this->parseDate("F Y"$this->startDate)); ?>
    <?php $this
    ->date $this->span?>
    <?php 
    endif; ?>
    <?php 
    echo $this->date?>
    </p>

    <?php if ($this->recurring): ?>
    <p class="recurring"><?php echo $this->recurring; if ($this->until): ?> <?php echo $this->until; endif; ?>.
    </p>
    <?php endif; ?>
    Das Gerödel mit 'future' sorgt dafür, dass für zukünftige Events, bei denen die CSS-Klasse 'future' vergeben wird, lediglich der Monat und das Jahr ausgegeben wird, falls ein genauer Termin noch nicht klar ist.

    Nun habe ich noch ein paar andere Dinge mit dem Template vor:

    Folgende Möglichkeiten müssen abgedeckt werden:
    • 11.11.2011
    • 11.11.2011 (08:00 - 12:00 Uhr)
    • 11.11.2011 - 12.11.2011
    • 11.11.2011 - 12.11.2011 (08:00 - 12:00 Uhr)
    • 11.11.2011 - 12.12.2011 (Samstags, 08:00 - 12:00 Uhr)


    Nun wundere ich mich schon, wie die bisherigen, "normalen" Ausgaben überhaupt mit diesem Fitzelchen an Datums-Code zustande kommen.

    1. Werden die irgendwo anders generiert und dann nur noch ans Template übergeben?
    2. Kann ich im Template je nach Gusto Datumsformate überschreiben?
    3. Wie kann ich bei sich wiederholenden Events zuletzt genanntes Format erhalten, ohne das eingegebene Startdatum im <p class="info"> anzeigen zu lassen?
    4. Wie verhindere ich, dass sich wiederholende Events mir zig-mal in der Upcoming-Events Ausgabe angezeigt werden?


    Ich will hier jetzt keine Fertiglösung aus dem Ärmel geschüttelt bekommen (es sei denn, jemand hat eine :-P), lernen möchte ich ja auch was. Also gerne in Zusammenarbeit.

    Vielen herzlichen Dank!


    Edit:

    Ok, die Sprachdatei, in der der Satz "Dieser Termin wiederholt sich jeden X. Tag." habe ich schonmal. Nützt uns die überhaupt etwas?
    Geändert von Papillon (02.07.2011 um 16:32 Uhr)

  2. #2
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    im Prinzip geht das genauso wie beim teaser template auch....

  3. #3
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Moin.

    Habe ein bisschen was zusammengebastelt, was mir jedoch arg umständlich vorkommt. Laufen tut es zumindest schonmal für die sich wiederholenden Events.

    PHP-Code:
    <p class="info">
    <?php 
    // Verhindert doppelte Datumsausgabe bei $this->recurring
    if (!$this->recurring): ?>

    <?php 
    // Für ungenaue Termine (Juni 2011)
    if (strpos($this->class'future' )): ?> 
    <?php $this->span ucfirst($this->parseDate("F Y"$this->startDate)); ?>
    <?php $this
    ->date $this->span?>
    <?php 
    endif; ?>

    <?php 
    // Vollständige Datums- und Zeitausgabe
    echo $this->date?>
    <?php 
    endif; ?>

    <?php if ($this->recurring): ?>
    <?php 
    echo $this->parseDate('d.m.Y'$this->startDate).' - '?>
    <?php 
    echo $this->parseDate('d.m.Y'$this->endDate).' '?>
    <?php 
    echo $this->parseDate('\(l\s'$this->startDate); ?>
    <?php 
    echo $this->addTime == $this->parseDate('\, H:i \-'$this->startTime) : ''?>
    <?php 
    echo $this->addTime == $this->parseDate(' H:i \U\h\r\)'$this->endTime) : ')'?>
    <?php 
    endif; ?>
    </p>
    Geändert von Papillon (02.07.2011 um 17:33 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Habe noch einige Funktionen hinzugefügt. So wird nun über $this->recurrences+1 die Anzahl der gesamten Termine mit ausgegeben.

    PHP-Code:
    <p class="info">
    <?php 
    // Verhindert doppelte Datumsausgabe bei $this->recurring
    if (!$this->recurring): ?>

    <?php 
    // Für ungenaue Termine (Juni 2011)
    if (strpos($this->class'future' )): ?> 
    <?php $this->span ucfirst($this->parseDate("F Y"$this->startDate)); ?>
    <?php $this
    ->date $this->span?>
    <?php 
    endif; ?>

    <?php 
    // Vollständige Datums- und Zeitausgabe
    echo $this->date?>
    <?php 
    endif; ?>

    <?php if ($this->recurring): ?>
    <?php 
    echo $this->parseDate('d.m.Y'$this->startDate).' - '?>
    <?php 
    echo $this->parseDate('d.m.Y'$this->endDate).' '?>
    <?php 
    echo '('?>
    <?php 
    echo $this->recurrences+1?>
    <?php 
    echo 'x '?>
    <?php 
    echo $this->parseDate('l\s'$this->startDate); ?>
    <?php 
    echo $this->addTime == $this->parseDate('\, H:i \-'$this->startTime) : ''?>
    <?php 
    echo $this->addTime == $this->parseDate(' H:i \U\h\r\)'$this->endTime) : ')'?>
    <?php 
    endif; ?>
    </p>
    Kann mir jemand vielleicht sagen, wie ich die Zeilen
    PHP-Code:
    <?php echo '('?>
    <?php 
    echo $this->recurrences+1?>
    <?php 
    echo 'x '?>
    <?php 
    echo $this->parseDate('l\s'$this->startDate); ?>
    ein bisschen kompakter gestalten kann? Im Grunde soll da am Ende stehen "(5x Mittwochs, 09:00 - 12:00 Uhr).

  5. #5
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Ok, das mit dem Datum krieg ich hin, aber wie schaffe ich es jetzt, ein Event, welches insgesamt 5 mal stattfindet, nur einmal in meiner Upcoming Events Liste zu führen? Insgesamt will ich nämlich 4 anliegende Events anzeigen lassen und da andere Events erst nach dem ersten Termin des 5er-Events stattfinden, wird leider 4 mal das 5er-Event angezeigt.

  6. #6
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    dafür gibt es doch die Felder "Anzahl der Events"/"Elemente pro Seite" und das Template event_upcoming, damit sollte das gewünschte machbar werden.

  7. #7
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Moin,

    die Anzahl der Events bezieht sich aber auf das gesamte Modul und nicht auf einzelne Events. Ich habe eine Eventliste, die aus 3 verschiedenen Kalendern Events auf der Landingpage ausgeben soll. Wenn ich dort nun die Anzahl der Events auf 4 begrenze, kommt 4 mal das gleiche Event, weil es sozusagen das "nächste" Event ist und wöchentlich wiederholt wird.

    Was ich brauche, wäre eine Option, dass man sich wiederholende bei Bedarf auch nur einmal ausgeben lassen kann.

    Über anderweitige Lösungen bin ich natürlich genauso dankbar!

  8. #8
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Im Modul Eventliste gibt es den Punkt *Verkürzte Darstellung*!
    Normal sollte dann das Event nur 1x angezeigt werden, auch wenn es über mehrere Tage geht.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  9. #9
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Hallo Thomas,

    das wundert mich, diese Option ist bereits aktiviert. Mag es daran liegen, dass sich wiederholende, eintägige Events nicht als mehrtägige Events gelten und somit öfter angezeigt werden?

    Andererseits ist es ja auch sinnvoll, wenn die angezeigt werden (vielleicht nicht gerade für meine Anwendung), da sie sich ja auch monatlich wiederholen könnten oder jährlich. Da ist es schon praktisch, dass sie angezeigt werden. Bei mir ist ja im Moment nur das Problem, dass sie den Platz für andere, spätere Events einnehmen.

  10. #10
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Eine Lösung, die zwar auch Probleme mit sich bringt, wäre, für jeden Kalender ein eigenes Eventlisten-Modul zu erzeugen, diese untereinander anzuordnen und bei jedem nur die Anzeige eines einzigen Events einzustellen.

    Problem daran wäre, dass wenn mal ein Kalender für die nächsten 3 Monate gar nichts bietet, der nächste Kalender aber 2-3 Termine aufweist, diese nicht angezeigt werden würden.

  11. #11
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Es gibt dafür eine Erweiterung!
    Vieleicht ist diese hier etwas für Dich:
    http://www.contao.org/erweiterungsli...000009.de.html
    Geändert von Thomas (03.07.2011 um 17:47 Uhr)
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  12. #12
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Pardon,

    der Link funktioniert nicht. Versuch es nochmal nur mit dem Segment aus dem Erweiterungskatalog, ohne die Domain.

    Edit: Hab schon. Diese Erweiterung habe ich soeben installiert! Vielen Dank!

  13. #13
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Lol, ja!

    Jetzt sollte er gehen.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  14. #14
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Eine Nebenfrage:

    PHP-Code:
    <?php if($this->condition): ?>
    <?php 
    echo 'Hello World!'?>
    <?php 
    else: ?>
    <?php 
    echo 'Goodbye World!'?>
    <?php 
    endif; ?>
    Beendet hier das else: die if-Abfrage oder ausschließlich das endif; ?
    Verliere gerade ein wenig die Übersicht über meine Syntax und kenne
    mich nicht so aus.

  15. #15
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    endif ist das Endetag

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
  •