Katalog Template gibt Wert nur auf einer bestimmten URL aus

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • valentin
    Contao-Nutzer
    • 13.07.2009
    • 135

    #1

    Katalog Template gibt Wert nur auf einer bestimmten URL aus

    Kurzfassung:

    Ich versuche gerade einen bestimmten Wert im Template einer Katalogliste nur auf einer bestimmten Seite auszugeben aber es gelingt mir nicht.

    So schaut der Code im Template aus:
    PHP-Code:
    <?php if($this->Environment->request == "http://meinedomain.com/news.html"): ?>
    <?php echo 'hallo'; ?>
    <?php endif;?>

    Langfassung:

    Die Items meines Kataloges haben ein Datum.
    Auf meiner NEWS Seite (News kommen aus dem Katalog) habe ich jetzt drei Katalog-Listen untereinander

    1.) Upcoming
    da befinden sich im Schnitt immer 1-2 Items

    2.) Current
    dieses Modul gibt so ca. 2-3 Items aus

    3.) Recent
    Hier landen alle Items nach dem Ablaufdatum (50 Einträge plus).

    Das Modul-Recent hat eine Pagination.
    Nun schaut es aber komisch aus, wenn auf den Seiten 2, 3, 4, etc. immer noch die anderen Module drauf sitzen.
    Meine Herangehensweise wäre also, das im Template Upcoming/Current so zu lösen, dass die Felder nur ausgegeben werden, wenn die Seite "http://meinedomain.com/news.html" heißt.

    Für die Seiten "http://ruhry.at/en/news.html?page=2", "http://ruhry.at/en/news.html?page=2", etc. werden die Felder dann nicht angezeigt.
    Geht das überhaupt?

    Eine andere, vielleicht leichtere Lösung wäre, dass im Modul als Bedingung einzustellen. Wenn die URL nicht XY ist, dann wird das Modul nicht ausgegeben?

    Irgendjemand eine Ahnung ob/wie das geht?!

    LG,
    Valentin
    Zuletzt geändert von valentin; 15.07.2012, 16:25.
  • webster
    Contao-Fan
    • 15.09.2010
    • 460

    #2
    Hallo valentin,

    ich würde mal sagen, das klingt jetzt nicht so kompliziert. Fange einfach ab, ob es den GET-Parameter "page" NICHT gibt, oder (falls es ihn gibt) ob er GLEICH 1 ist, in dem Fall können die Inhalte der Lister 1+2 ausgegeben werden:

    PHP-Code:
    <?php if (!$this->Input->get('page') || $this->Input->get('page') == 1): ?>
    // hier die Inhalte Deiner Listing-Module
    <?php endif; ?>
    Was ist das? - Blaues Licht - Und was macht es? - Es leuchtet blau...

    Kommentar

    • Andreas
      Contao-Urgestein
      • 19.06.2009
      • 7709

      #3
      Oder die Page-ID abfragen. Im Beispiel, wenn Page-ID nicht 22 ist, dann dieses Template abbrechen (return).
      HTML-Code:
      <?php
      global $objPage;
      if($objPage->id != 22)
      {
        return;
      }
      ?>
      Bitte!
      Vor Anfragen im Forum HTML validieren.
      Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

      Vielen Dank an alle Wunschlistenerfüller
      Andreas Burg, Web Solutions

      Kommentar

      • valentin
        Contao-Nutzer
        • 13.07.2009
        • 135

        #4
        Danke.

        Genau das war´s!

        Zitat von webster Beitrag anzeigen
        Hallo valentin,

        ich würde mal sagen, das klingt jetzt nicht so kompliziert. Fange einfach ab, ob es den GET-Parameter "page" NICHT gibt, oder (falls es ihn gibt) ob er GLEICH 1 ist, in dem Fall können die Inhalte der Lister 1+2 ausgegeben werden:

        PHP-Code:
        <?php if (!$this->Input->get('page') || $this->Input->get('page') == 1): ?>
        // hier die Inhalte Deiner Listing-Module
        <?php endif; ?>

        Kommentar

        Lädt...