Moin,
ich bin auf der Suche nach einer Ausführlichen Beschreibung für die CASE-Anweisung. Ich habe bislang nur kleine Code-schnipsel gefunden, die mir nicht wirklich weiter helfen...
Oder jemanden, der mir mit meinem Problem direkt weiter hilft 😉
Folgendes Problem:
ich möchte in der Kalender-EXT: calendar die Angezeigten Kategorien mit unterschiedlichen Farben darstellen.
Dazu habe ich den folgenden TS-Code:
EVENT_COLOR = CASE
EVENT_COLOR {
key.field = category
1 = TEXT
1.value = Kategorie_Rot
2 = TEXT
2.value = Kategorie_Blau
3 = TEXT
3.value = Kategorie_Gruen
}
Es soll ich ID der jeweiligen Kalender-Kategorie aus der DB abgefragt werden. Je nach ID der Kategorie soll der Marker im Template dann den entsprechenden Wert annehmen, um anschließend via CSS die Formatierung vorzunehmen.
Nun meine Fragen:
1. key.field = category
Ist das so schon korrekt? Oder wie greife ich an dieser Stelle auf ein Element aus der DB zu?
2. Je nach ID der Kategorie soll der Marker im HTML-Template die Kategorie_Rot,Kategorie_Blau oder Kategorie_Gruen ersetzt werden.
Wie setzte ich nun diese Anweisung im Setup um?
page.10.marks.EVENT_COLOR = CASE
page.10.marks.EVENT_COLOR { ... }
So? Oder wie genau geht das?
3. Schließt sich direkt an 2. an... Wo trage ich die EVENT_COLOR = CASE - Anweisung ein?
Seite 37 in der Doku von Robert Meyer ... #paralyzed#
danke Dir für den Tip - werde mal versuchen, damit die Lösung zu finden
So, nach langem herumprobieren habe ich nun die Lösung gefunden:
Ich erkläre hier alles anhand der Monatsansicht.
Schritt 1:
HTML-Template editieren und an der Stelle, wo die Eventmarker sind im entsprechenden DIV-Containen einen weiteren Marker hinzufügen.
z.B. ###EVENT_COLOR###
<!-- ###EVENTS### begin -->
<!-- ###TEMPLATE_EVENT### begin -->
<div class="###EVENT_CLASS_STARTING_TODAY######EVENT_CLASS_STARTING_NOT_TODAY######EVENT_COLOR###">
<div class="inner">
###START_TIME###
###FULLDAY###
###EVENT_TITLE###
</div>
</div>
<!-- ###TEMPLATE_EVENT### end -->
<!-- ###EVENTS### end -->
Anschließend im Template-Setup (ich habe bei mir ein EXT-Template erstellt) die folgenden Zeilen einfügen:
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR = CASE
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.key.field = category
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.1 = TEXT
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.1.value = FarbeGruen
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.2 = TEXT
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.2.value = FarbeRot
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.3 = TEXT
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.3.value = FarbeGelb
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.default = TEXT
plugin.tx_calendar_pi1.displayMonth.month.subparts.WEEKS.week.subparts.DAYS.day.subparts.EVENTS.event.marks.EVENT_COLOR.default.value = FarbeBlau
Dadurch wird der Marker ###EVENT_COLOR### nach Abhängigkeit der Kategorie ersetzt (Bei mir FarbeGruen, FarbeRot, FarbeGelb, FarbeBlau). Die Zahlen 1-3 sind dabei die UIDs der Kategorien.
So, ich hoffe, damit ist auch anderen geholfen 🙂