We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 9099
    • 26 Posts
    Gibt es eine Lösung (snippet) zur Ein- und Ausgabe von Terminen. Bei den News kann ich mir diese zwar nach dem Erscheinungsdatum anzeigenlassen, ich suche aber eine Lösung bei der ein zusätzliches Datumsfeld vorhanden ist das ich gezielt nach dem sortiert werden kann.
      • 9099
      • 26 Posts
      So, wenn ich das richtig verstanden hab kann man sowas mit TV’s machen.Hab mir also eine TV für Termine mit dem Typ date angelegt. Das ganze will ich mit dem NewsListing Snippet ausgeben. Wenn ich in dem Chunk das ich dafür benutze nun [*Termin*] eingebe bekomm ich aber keine Ausgabe des Wertes.
        • 9099
        • 26 Posts
        So jetzt hab ichs. Das Problem ist, dass modX Werte vom Typ date nicht sortieren kann. Mit diesem Hack hats dan aber funktioniert: http://modxcms.com/forums/index.php/topic,6320.new.html#new
        Falls es jemanden interessiert hier die komplette Lösung zur Ausgabe von Events im microformat (hCalendar):

        1. den Hack ausführen
        2. eine TV mit Eingabetyp: date und Objektauswahl:unixtime anlegen
        3. einenChunk anlegen:
        <div class="vevent">
        <div class="date">
        [[DateTime? &timestamp=`[+tvTermin+]` &type=`date`]]
        [[DateTime? &timestamp=`[+tvTermin+]` &type=`year`]]
        </div>
        
        <h2 class="summary">[+title+]</h2>
        <p class="description">[+content+]</p>
        [*pub_date*]
        </div>

        4. ein Snippet zum Datum auswerten anlegen:
        setlocale(LC_TIME, "de_DE");
        
        if($type=="date"){
        $title=strftime("%Y%m%d", $timestamp);
        $value="<span class=\"month\">".strftime("%b",$timestamp)."</span><span class=\"day\">".strftime("%e",$timestamp)."</span>";
        $class="dtstart";
        }
        
        if($type=="year"){
        $title=strftime("%Y%m%d", $timestamp+86400);
        $value=strftime("%Y",$timestamp);
        $class="dtend";
        }
        
        return "<abbr class=\"".$class."\" title=\"".$title."\">".$value."</abbr>";

        5. das ganze ins aufrufen:
        [!Ditto? &tpl=`NewsListing` &startID=`11`  &sortBy=`tvTermin` &sortDir=`ASC`!]


          • 36451
          • 264 Posts
          Es ist selten, daß jemand nicht nur eine Frage stellt, sondern auch gleich die Lösung nachschiebt, damit alle etwas davon haben. Danke.