Ergebnis 1 bis 9 von 9

Thema: [Event] Anmelde-Button für vergangene Events ausblenden

  1. #1
    Contao-Fan
    Registriert seit
    01.07.2009.
    Beiträge
    348

    Standard [Event] Anmelde-Button für vergangene Events ausblenden

    Hallo zusammen

    Ich habe eine Website mit Kursausschreibungen. In der Liste mit den anstehenden Events erscheint ein Anmeldebutton, in der Liste der vergangenen Events erscheint dieser nicht, da er im entsprechenden Template nicht integriert ist. Da die Reader-Seite je Eventarchiv gewählt wird, kann ich nur ein einziges Reader-Template wählen – in meinem Fall MIT Anmeldebutton.

    Was ist die einfachste Möglichkeit, auf der Reader-Seite den Anmeldebutton (zeitgesteuert) auszublenden? Oder gibt es eine Möglichkeit, einem Eventreader zwei Templates zuzuweisen? Im Listenmodul lässt sich ein Reader-Template auswählen, aber wenn sich zwei (verschiedene) Reader auf einer Seite befinden, wird der Event einfach doppelt angezeigt.

    Grüsse und besten Dank
    Chris

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

    Support Contao

    Standard

    Du könntest z.B. im Template das Datum des Events mit dem aktuellen vergleichen und je nach Ergebnis dann den Anmeldebutton ausgeben oder nicht.

  3. #3
    Contao-Fan
    Registriert seit
    01.07.2009.
    Beiträge
    348

    Standard

    Das würde ich gerne – als PHP-Laie ist das nicht ganz so einfach. Gibt es dafür Hilfestellungen oder Code-Schnipsel, die ich ins Template übernehmen könnte?

    Programmierer haben ganz klar den grösseren Vorteil als Grafiker: Eine hässliche Website funktioniert ebenso wie eine wunderschöne. Allerdings nützt eine wunderschöne ganz ohne Funktionen recht wenig. Ein harmonisches Miteinander wäre der Schlüssel zu einer besseren Welt. Aber im Contao-Forum wird am Design-Bereich nur im Forum «Ausstellungen»*nur ganz leicht gekratzt.

    Grüsse
    Chris

  4. #4
    Contao-Fan
    Registriert seit
    01.07.2009.
    Beiträge
    348

    Standard

    Hast du evtl. eine Hilfestellung, wie sich der Button zeitgesteuert umfunktionieren lässt?

    Grüsse
    Chris

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

    Standard

    Ich habe für eine vergleichbare Konstellation folgendes ins Template geschrieben:

    PHP-Code:
    <?php
         $eventdat
    =$this->date//Event-Datum: Kartenverkauf nur wenn eventdatum nach dem
         
    $heute=date("Ymd");  //Tagesdatum: aktuellem Tagesdatum liegt
         
    $datum $eventdat;
         
    $datum_de date("Ymd"strToTime($datum));
         
    $eventdat $datum_de;
    ?>
    <?php 
    if ($eventdat>=$heute): ?>

       // Hier müsste der Anmeldebutton definiert werden.
     
    <?php endif; ?>
    Die erste php-Folge formatiert die Datumsangaben in einen vergleichbaren String. Ob sotwas einfacher weiß ich nicht.

    Gruß Georgi
    Geändert von Georgi (22.09.2015 um 09:42 Uhr)

  6. #6
    Contao-Fan
    Registriert seit
    01.07.2009.
    Beiträge
    348

    Standard

    Bei mir wird der Button damit permanent ausgeblendet – kann nicht daran liegen, dass mein Datum in den Einstellungen anders formatiert ist, oder? Deshalb vermutlich der vergleichbare String...

    Der Button sieht bei mir so aus:
    Code:
      <?php if ($this->details): ?>
        <?php echo $this->details; ?>
        
          	<p class="more"><a href="anmeldung.html?event=<?php echo urlencode($this->title);?>&amp;date=<?php echo urlencode($this->date);?>">Anmelden</a></p>
    
      <?php else: ?>
    Darunter folgt noch der Zurück-Button.

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

    Standard

    Bau mal dies zu Testzwecken ein, dann kannst du sehen, wie deine Werte aufbereitet werden und ggf. die erforderlichen Schlüsse ziehen:

    PHP-Code:
    date: <?php echo $this->date?><br>
    <?php $eventdat=$this->date;  ?>
    "$eventdat=$this->date" eventdat: <?php echo $eventdat?><br>
    <?php      $heute=date("Ymd");  ?>
    "$heute=date("Ymd")" heute: <?php echo $heute?><br>
    <?php      $datum $eventdat?>
    "$datum = $eventdat" datum: <?php echo $datum?><br>
    <?php      $datum_de date("Ymd"strToTime($datum));  ?>
    "$datum_de = date("Ymd", strToTime($datum))" datum_de: <?php echo $datum_de?><br>
    <?php      $eventdat $datum_de?>
    "$eventdat = $datum_de" eventdat: <?php echo $datum_de?><br><br>

    Vergleich Event-Datum (envendat) und Tagesdatum (date, heute)<br><br>
    eventdat: <?php echo $datum_de?><br>
    heute: <?php echo $heute?><br>

    if ($eventdat>=$heute)<br>
    <?php if ($eventdat>=$heute): ?>
            Button einblenden
    <?php else: ?>
           Button ausblenden
    <?php endif; ?>       
    <br><br>
    Bei mir funktioniert es.

  8. #8
    Contao-Fan
    Registriert seit
    01.07.2009.
    Beiträge
    348

    Standard

    Der Teil, der beim Test neu auf der Seite ausgegeben wird:

    Code:
    date: 19.09.2015 (14.00 - 16.00)
    "$eventdat=$this->date" eventdat: 19.09.2015 (14.00 - 16.00)
    "$heute=date("Ymd")" heute: 20151009
    "$datum = $eventdat" datum: 19.09.2015 (14.00 - 16.00)
    "$datum_de = date("Ymd", strToTime($datum))" datum_de: 19700101
    "$eventdat = $datum_de" eventdat: 19700101
    
    Vergleich Event-Datum (envendat) und Tagesdatum (date, heute)
    
    eventdat: 19700101
    heute: 20151009
    if ($eventdat>=$heute)
    Button ausblenden
    Wie pflanze ich denn deinen Code in meinen ein, damit es funktioniert?

    Code:
      <?php if ($this->details): ?>
        <?php echo $this->details; ?>
        
          	<p class="more"><a href="anmeldung.html?event=<?php echo urlencode($this->title);?>&amp;date=<?php echo urlencode($this->date);?>">Anmelden</a></p>
    
      <?php else: ?>
        <div class="ce_text block">
          <?php echo $this->teaser; ?>
        </div>
      <?php endif; ?>
    
      <?php if ($this->enclosure): ?>
        <div class="enclosure">
          <?php foreach ($this->enclosure as $enclosure): ?>
            <p><img src="<?php echo $enclosure['icon']; ?>" width="18" height="18" alt="<?php echo $enclosure['mime']; ?>" class="mime_icon"> <a href="<?php echo $enclosure['href']; ?>" title="<?php echo $enclosure['title']; ?>"><?php echo $enclosure['link']; ?> <span class="size">(<?php echo $enclosure['filesize']; ?>)</span></a></p>
          <?php endforeach; ?>
        </div>
      <?php endif; ?>

  9. #9
    Contao-Fan
    Registriert seit
    01.07.2009.
    Beiträge
    348

    Standard

    Hat niemand eine Ahnung? Besten Dank für eine kurze Hilfestellung…

    Chris

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
  •