Ergebnis 1 bis 13 von 13

Thema: event_teaser.tpl als Tabelle darstellen

  1. #1
    Contao-Nutzer Avatar von mandrael
    Registriert seit
    29.06.2009.
    Ort
    Salzburg, Austria
    Beiträge
    225

    Standard event_teaser.tpl als Tabelle darstellen

    Liebe Typolight-Benützer!
    Ich bin etwas neu in der PHP-Programmierung und wollte das Template event_teaser.tpl so anpassen, dass die Ausgabe zu einer Tabelle wird. Jetzt kommt nicht nur eine Tabelle heraus, sondern für jedes Event eine, was zu einem Durcheinander führt. Wie kann ich das Template so umschreiben, dass eine einzige Tabelle ausgegeben wird? Ich komm da nicht weiter ...

    PHP-Code:
    <div class="event<?php echo $this->classList?>">

    <table>
    <tr>
    <td>
    <?php if ($this->details): ?>
    <a href="<?php echo $this->link?>" title="<?php echo $this->title?> (<?php if ($this->day): echo $this->day?><?php endif; echo $this->date; if ($this->time): ?><?php echo $this->time; endif; ?>)"<?php echo $this->target?>><?php echo $this->title?></a><?php else: ?>
    <?php 
    echo $this->title?>
    </td>
    <?php endif; ?>
     

    <td>
    <?php if ($this->time || $this->span): ?>
    <?php 
    echo $this->time $this->span?> 
    <?php endif; ?>
    </td>

    <td><?php echo $this->teaser?></td>

    </tr>
    </table>

    </div>
    Vielen Dank für die Hilfe!

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo mandrael,
    das wird daher kommen, das du den einzelnen Theaser bearbeitest.

    Um die Tabelle anzufangen un zu beenden musst du mod_eventlist.tpl bearbeiten.

    Man kann sich merken: das drum herum wird immer von den Templates mit mod_irgendwas.tpl erstellt und die einzelnen Items dann die jeweils passenden.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Nutzer Avatar von mandrael
    Registriert seit
    29.06.2009.
    Ort
    Salzburg, Austria
    Beiträge
    225

    Standard

    Lieber MacKP!
    Vielen Dank für die Lösung! Damit hat's geklappt!
    Michael

  4. #4
    Contao-Fan Avatar von Russe
    Registriert seit
    23.10.2009.
    Beiträge
    729

    Standard

    Ich habe das auch schon einmal gemacht, wenn du mit dem Tipp von MacKP nicht weiterkommst melde dich einfach noch mal.
    Russe

  5. #5
    Contao-Nutzer
    Registriert seit
    11.03.2010.
    Beiträge
    25

    Standard

    Zitat Zitat von MacKP Beitrag anzeigen
    Hallo mandrael,
    das wird daher kommen, das du den einzelnen Theaser bearbeitest.

    Um die Tabelle anzufangen un zu beenden musst du mod_eventlist.tpl bearbeiten.

    Man kann sich merken: das drum herum wird immer von den Templates mit mod_irgendwas.tpl erstellt und die einzelnen Items dann die jeweils passenden.

    Viele Grüße
    Hallo,
    ich habe gerade das selbe Problem. Wenn ich jetzt aber über die Template-Verwaltung das Template mod_eventlist.tpl dupliziere und umbenenne, dann muss ich doch irgendwo einstellen, dass meine Event-List das neue Template verwenden soll? Aber wo? Ich finde nur die Einstellungsmöglichkeit für die event_list.tpl?

    Gruß Mathse

  6. #6
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Mathse,
    es gibt für die mod_eventlist.tpl keine Möglichkeit im BE einzustellen welche benutzt wird. Du musst die einfach genau so benennen. Dann wird die automatisch genutzt und nicht das Original.

    Wenn du dann doch an einer anderen Stelle das Original brauchst, musst du dir eine kleine if Abfrage einbauen (if Seite bla dann den Code vom Originalen nehmen, ansonsten dein Code oder umgekehrt) und im dem einen Template beide Quellcodes vorhalten.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  7. #7
    Contao-Nutzer
    Registriert seit
    11.03.2010.
    Beiträge
    25

    Standard

    Zitat Zitat von MacKP Beitrag anzeigen
    Wenn du dann doch an einer anderen Stelle das Original brauchst, musst du dir eine kleine if Abfrage einbauen (if Seite bla dann den Code vom Originalen nehmen, ansonsten dein Code oder umgekehrt) und im dem einen Template beide Quellcodes vorhalten.
    Hallo,
    danke für deine Antwort.
    Gibts von TL ne Funktion um die Seite auszulesen, oder kann/soll ich da einfach die PHP-Server-Variable ($_SERVER['PHP_SELF']) verwenden?

    Und noch ne Frage: Wenn ich will, dass die Zeilen in der Tabelle abwechselnd hell und dunkel im Hintergrund muss ich ja im Template eine Zähler-Variable einbauen, die mir die Anzahl der Zeilen zählt. Allerdings wird diese bei jeder Zeile wieder zurückgesetzt (ist ja auch nicht global)... Gibts da ne Lösung?

    Gruß Mathse

  8. #8
    Contao-Fan Avatar von Russe
    Registriert seit
    23.10.2009.
    Beiträge
    729

    Standard

    Ich habe das in meiner mod_eventlist so gemacht:

    Code:
    <?php if ($this->cssID == ' id="next_events"'): ?>
    <table border="1" summary="Auflistung der kommenden Veranstaltungen.">
    <tr>
      <th>Datum</th>
      <th>Uhrzeit</th>
      <th>Veranstaltung</th>
    </tr>
    <?php endif; ?>
    
    <?php echo $this->events; ?>
    <?php echo $this->pagination; ?>
    
    <?php if ($this->cssID == ' id="next_events"'): ?>
    </table>
    <?php endif; ?>
    Die CSS-ID „next_events“ habe ich im Artikel der das Modul einbindet vergeben.
    Russe

  9. #9
    Contao-Nutzer
    Registriert seit
    11.03.2010.
    Beiträge
    25

    Standard

    Zitat Zitat von Russe Beitrag anzeigen
    Ich habe das in meiner mod_eventlist so gemacht:

    Code:
    <?php if ($this->cssID == ' id="next_events"'): ?>
    <table border="1" summary="Auflistung der kommenden Veranstaltungen.">
    <tr>
      <th>Datum</th>
      <th>Uhrzeit</th>
      <th>Veranstaltung</th>
    </tr>
    <?php endif; ?>
    
    <?php echo $this->events; ?>
    <?php echo $this->pagination; ?>
    
    <?php if ($this->cssID == ' id="next_events"'): ?>
    </table>
    <?php endif; ?>
    Die CSS-ID „next_events“ habe ich im Artikel der das Modul einbindet vergeben.
    Das scheint bei mir leider nicht zu funktionieren. Selbst ein echo $this->cssID; bringt mir keine Ausgabe. Vielleicht liegt es an der neuen TL-Version oder an der Erweiterung calender_ext?
    Weiß jemand was darüber?

    Gruß Mathse

  10. #10
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Mathse,
    schau doch mal mit
    PHP-Code:
    <?php echo $this->showTemplateVars(); ?>
    nach was bei dir für Variablen verfügbar sind.

    Ich glaube das du diese ID nicht hast, da die extra im Backend als ID angegeben wurde ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  11. #11
    Contao-Nutzer
    Registriert seit
    11.03.2010.
    Beiträge
    25

    Standard

    Zitat Zitat von MacKP Beitrag anzeigen
    Hallo Mathse,
    schau doch mal mit
    PHP-Code:
    <?php echo $this->showTemplateVars(); ?>
    nach was bei dir für Variablen verfügbar sind.

    Ich glaube das du diese ID nicht hast, da die extra im Backend als ID angegeben wurde ;-)

    Viele Grüße
    Hey! Danke dir!
    Ich habs jetzt mit dem Name-Attribute ($this->name) gelöst. Das gibt mir den Namen des Moduls.

    Danke!

    Gruß Mathse

  12. #12
    Contao-Nutzer
    Registriert seit
    11.03.2010.
    Beiträge
    25

    Standard

    Und weiß noch jemand auf meine andere Frage ne Lösung:
    Wenn ich will, dass die Zeilen in der Tabelle abwechselnd hell und dunkel im Hintergrund muss ich ja im Template eine Zähler-Variable einbauen, die mir die Anzahl der Zeilen zählt. Allerdings wird diese bei jeder Zeile wieder zurückgesetzt (ist ja auch nicht global)... Gibts da ne Lösung?
    Gruß Mathse

  13. #13
    Contao-Nutzer Avatar von mandrael
    Registriert seit
    29.06.2009.
    Ort
    Salzburg, Austria
    Beiträge
    225

    Standard

    Hallo!
    Ich habe auch dieses odd/even - Problem. Die Tabelle funktioniert soweit gut. Auf dem Rest der Seite verwende ich odd/even-rows für bessere Lesbarkeit. Nur die Eventtabelle will nicht so recht.

    event_teaser_tab.tpl:
    PHP-Code:
    <tr>
    <td>
    <?php if ($this->details): ?>
    <a href="<?php echo $this->link?>" title="<?php echo $this->title?> (<?php if ($this->day): echo $this->day?><?php endif; echo $this->date; if ($this->time): ?><?php echo $this->time; endif; ?>)"<?php echo $this->target?>><?php echo $this->title?></a><?php else: ?>
    <?php 
    echo $this->title?>
    </td>
    <?php endif; ?>
     
    <td>
    <?php if ($this->time || $this->span): ?>
    <?php 
    echo $this->time $this->span?> 
    <?php endif; ?>
    </td>

    <td><?php echo $this->teaser?></td>
    </tr>
    Ich habe schon versucht mich an dem Tabellen-Template (system/modules/frontend/templates/ce_table.tpl) zu orientieren, aber ohne Erfolg. Es geht mir darum, jeder 2. Zeile (tr) ein odd bzw. even als Klasse zuzuordnen. Vielen Dank für die Hilfe, ich komm da nicht weiter ....

    Der Vollständigkeit halber noch mein mod_eventlist.tpl:
    PHP-Code:
    <!-- indexer::stop -->

    <div class="<?php echo $this->class?> block"<?php echo $this->cssID?><?php if ($this->style): ?> style="<?php echo $this->style?>"<?php endif; ?>>
    <?php if ($this->headline): ?>

    <<?php echo $this->hl?>><?php echo $this->headline?></<?php echo $this->hl?>>
    <?php endif; ?>

    <table class="zebra">
    <tbody>
    <?php echo $this->events?>
    </tbody>
    </table>
    <?php echo $this->pagination?>
    </div>
    <!-- indexer::continue -->

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. N zu N darstellen
    Von gintoxin im Forum Entwickler-Fragen
    Antworten: 16
    Letzter Beitrag: 23.09.2011, 09:15
  2. Inhaltselement Tabelle: Aussehen der Tabelle beeinflussen?
    Von jscholtysik im Forum Allgemeine Inhaltselemente
    Antworten: 5
    Letzter Beitrag: 28.02.2010, 20:32
  3. 2 Module nebeneinander darstellen
    Von danielk im Forum Layout / Templates / Holy Grail
    Antworten: 9
    Letzter Beitrag: 25.01.2010, 17:01
  4. Referenzen darstellen
    Von rocco im Forum Allgemeine Inhaltselemente
    Antworten: 17
    Letzter Beitrag: 13.11.2009, 06:27

Lesezeichen

Lesezeichen

Berechtigungen

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