Home » Webdesign » CMS MODX » Event-Kalender mit CMS MODX und ditto
- Anzeige -
Software Asset Management beim Fachmann

Event-Kalender mit CMS MODX und ditto

Das Ditto Snippet wird häufig für Blog bzw. Blog-ähnliche Funktionen verwendet. Es kann jedoch viel mehr. Z.B. ein Event-Kalender sein. Der folgende Inhalt ist recht stark bei MODx – How to setup an Events Page using Ditto and CALx abgekupfert (wenigstens ist die Übersetzungsleistung meine eigene ;-), das Sie sehr schön diverse Fähigkeiten von MODX, Template-Variablen und ditto zeigt.

Die Kalendereinträge sind nichts anderes als HTML-Seiten in einem Ordner. Damit diesen ein Start- und Enddatum zugewiesen werden kann, werden hierfür zwei Template-Variablen definiert: Die erste heisste EventStartDate und die zweite EventEndDate.

Event-Kalender für die Homepage mit CMS MODX und ditto

Beim Erstellen der Variablen muss man vor allem darauf achten, dass diese auch den entsprechenden Templates zugewiesen werden.

Anschliessend erstellt man in einem Ordner (bei mir hier "Events Folder" mit ID 4) die entsprechenden Events. Hier brauchen wir nur den Titel, das richtige Template und müssen die Variablen passend abfüllen

Event-Kalender für die Homepage mit CMS MODX und ditto

Im nächsten Schritt erstellen wir das Chunk "chkShowEvent"

Start: [+EventStartDate:date=`%d-%b-%y %H:%M`+] End: [+EventEndDate:date=`%d-%b-%y %H:%M`+]
[+title+] 

Dieser Codeschnipsel definiert, wie der jeweilige Eintrag auszusehen hat. EventStartDate und EventEndDate verweisen auf die zuvor definierten Template-Variablen.

An die Stelle, an der der Kalender erscheinen soll, schreiben wir:

[!Ditto? &startID=`4` &tpl=`chkShowEvent` &paginate=`0` &paginateAlwaysShowLinks=`0` &orderBy=`EventStartDate ASC` &extenders=`summary,dateFilter` &dateSource=`EventStartDate` &summarize=`3` &dateFormat=`%d. %b. %y` &filter=`EventStartDate,@EVAL return strtotime("now");,3`!]

Nehmen wir den Ditto-Aufruf mal auseinander:

&startID=`2` 

ID des Ordner der die anzuzeigenden Einträge enthält. Mehrere Ordner lassen sich mit Komma getrennt angeben.

&tpl=`chkShowEvent` 

Dies ist die Angabe auf das Chunk, das die Ausgabe der Kalendereinträge bestimmt.

&paginate=`0` 

Keine Seitennummern auf Ergebnisseite.

&paginateAlwaysShowLinks=`0 

Link auf vorige und nächste Seitenicht zeigen/p>

&orderBy=`EventStartDate ASC` 

Sortierreihenfolge festlegen

&extenders=`summary,dateFilter` 

Purpose: Load extenders expanding functionality of Ditto, Values: Comma-separated list of names ???

&dateSource=`EventStartDate` 

Source of the placeholder ???

&summarize=`3` 

Anzahl der anzuzeigenden Objekte

&dateFormat=`%d. %b. %y` 

Format der Variablen

&filter=`EventStartDate,@EVAL return strtotime("now");,3` 

Filter, welche Einträge angezeigt werden sollen. In dem Fall nur solche, die noch anstehen.

Beispiele:

Vergleichsoperatoren für Filter

Wert Bedeutung
1 oder! = Nicht gleich
2 oder = Gleich
3 oder < Weniger als
4 oder > Grösser als
5 oder <= Weniger als oder gleich
6 oder > = Größer oder gleich
7 Enthält
8 Enthält nicht

Dito Platzhalter

Alle Befehle in der MODX WIKI.

  • [~[+id+]~] - Create a full URL based on the ID. Does not create a link itself.
  • [+title+] - Contents of one of document title fields. There's probably an order in which it tries to find a title.
  • [+summary+] - Either introtext in full if set, or the first part of content.
  • [+content+] - Displays the content of the document.
  • [+link+] - Creates a link to the document, with the text "Read more...".
  • [+author+] - The name of the author. Based on createdby.
  • [+date+] - The date, in the set format. Set as createdon by default (editedon & pub_date are options)and follows this format string [1].
  • [+pagetitle+] - The title of the document.
  • [+longtitle+] - The longtitle of the document.
  • [+description+] - The description of the document.
  • [+introtext+] - The summary of the document.
  • [+content+] - The content of the document.
  • [+alias+] - The alias of the page. Used in creating Friendly URLs.
  • [+menutitle+] - The menu title of the document.
  • [+id+] - the integer id for the document.
  • [+parent+] - the integer of the parent
  • [+menuindex+] - the menu index (sort order) integer
  • [+contentType+] - Returns string of content type specified in manager Content Type drop down menu.
  • [+template+] - integer template id to be used with this content.
  • [+searchable+] - Returns 1 (true) or 0 (false) to designate whether this page content should be searchable.
  • [+cacheable+] - Returns 1 (true) or 0 (false) if this page should be cached. This is set to false by default so dynamic snippets function properly.
  • [+createdby+] - Returns integer id number of user who created content.
  • [+createdon+] - Date (in seconds since January 1, 1970) when the content was created.
  • [+editedby+] - Integer id number of the user who last edited the content.
  • [+editedon+] - Returns date of the last edit (in seconds since January 1, 1970).
  • [+deleted+] - Returns 1 (true) or 0 (false). When true, this document will appear in the recyling bin until the recycling bin gets emptied. At that point, the record is removed entirely from the database (REALLY deleted).
  • [+deletedon+] - Returns date of document deletion (in seconds since January 1, 1970).
  • [+next+] - next button
  • [+previous+] - previous button
  • [+splitter+] - splitter if always show is 0
  • [+pages+] - page list
  • [+totalPages+] - total number of pages
  • [+start+] - the # of the first item shown
  • [+stop+] - the # of the last item shown
  • [+current+] - the # of current page shown (in Ditto 2.x use [+currentPage+] )
  • [+total+] - the total # of pages
  • [+item[x]+] – rendered output of an individual document


War der Artikel hilfreich? Bitte liken und sharen. Danke!

it-zeugs.de ist auch auf Facebook...

Schreibe einen Kommentar - aber kein SPAM - der wird zuverlässig gefiltert!

  • Erforderliche Felder sind markiert mit *.

If you have trouble reading the code, click on the code itself to generate a new random code.