D6 Calendar Modul | Attribut zu Date-Object hinzufügen?
am 21.08.2011 - 20:30 Uhr in
Hallo zusammen.
Ich habe einen Veranstaltungskalender mit dem Calendar-Module und Views erstellt. Das funktioniert soweit schon ganz gut. Der Kalender (eigene View) zeigt nur Daten an, an denen auch eine Veranstaltung ist, es gibt funktionierende Blocks für "Die nächste Veranstaltung" (Filter) oder "Das nächste Konzert" (Taxonomy + Filter).
Es gibt einen Inhaltstyp (Veranstaltung), der alle Termine einer Veranstaltung beinhaltet. Diesen Terminen möchte ich weitere Attribute geben: (z.B :Premierentermin oder "Zum letzten Mal").
Füge ich ein weiteres Date-Field (bspw. "field_premiere") dem Inhaltstyp hinzu, wird dieses Feld im Kalender auch bei jedem anderen Termin der Veranstaltung dargestellt, das soll natürlich nicht sein.
Einen weiteren Inhaltstyp nur für die Premiere ist unpraktisch, wäre aber ein Workaround.
Kann mir jemand einen Tip geben? Geht das mit Arguments? Oder hab ich einen Denkfehler bei den Views?
Danke im Voraus!
- Anmelden oder Registrieren um Kommentare zu schreiben
Du könntest dem Inhaltstyp
am 21.08.2011 - 23:24 Uhr
Du könntest dem Inhaltstyp Checkboxen mitgeben, bei denen man dann die entsprechenden Optionen auswählen kann. Und wenn eine Checkbox aktiviert wurde, wird im Template eine entsprechende Meldung ausgegeben. Oder man färbt den Kalender-Eintrag ein, dürfte auch gehen.
Hm, Checkboxen. Muss ich mir
am 21.08.2011 - 23:34 Uhr
Hm, Checkboxen.
Muss ich mir mal anschauen. Danke für den Tip...
edit:
Da habe ich ja auch nur eine Referenz auf die gesamte Veranstaltung, aber nicht auf einen einzelnen Termin.
Ein Event findet bei mir immer mehrmals statt (Theater).
Eine genauere Angabe, wie
am 22.08.2011 - 18:54 Uhr
Eine genauere Angabe, wie dein Inhaltstyp aufgebaut ist etc. wäre recht sinnvoll, so kann man nur ins blaue raten. Denn es scheint ja so zu sein, dass du für eine Veranstaltung, die an mehreren verschiedenen Tagen laufen kann, nur einen Node erstellst. Stimmt das so? Wenn ja, dann hast du das z. B. in deinem ersten Posting nicht erwähnt.
Also: Wie ist der Inhaltstyp aufgebaut? Wie genau hast du den Kalender und die Ausgabe bisher umgesetzt?
Sorry, ich bin hier schon
am 22.08.2011 - 19:34 Uhr
Sorry, ich bin hier schon etwas betriebsblind... :) und danke, dass Du dich meiner annimmst!
Es ist tatsächlich so: Pro Veranstaltung, die mehrmals stattfindet (immer die gleiche Aufführung an verschiedenen Tagen) gibt es einen Node. Im Inhaltstyp werden für eine einzelne Veranstaltung im Date-Field beliebig viele Einträge zugelassen. Im Date-Field werden Tag, Monat, Jahr, Uhrzeit per Auswahlliste abgefragt (das sind ja Standardwerte). Zusätzlich wird pro Veranstaltung ein Ort angegeben (Taxonomy). Dazu kommen ein Bildchen und der Veranstaltungstext.
Die Ausgabe ist eine eigene View auf Basis der Calendar-Views. Ich lasse nur Tage anzeigen, an denen ein Termin eingetragen ist, filtere nach Orten (Taxonomy) und Date >= now, Sortierung aufsteigend nach Datum. Das funzt alles einwandfrei.
Nun ist es so, dass der erste Termin eines Theaterstücks eine Premiere und der letzte Termin eine Derniere ist. Das möchte ich im Kalender hervorheben. Dazu müsste ich den entsprechenden Terminen einen wie auch immer gearteten Flag mitgeben.
Das könnte schwierig
am 22.08.2011 - 20:09 Uhr
Das könnte schwierig werden.
Dazu müsste ich den entsprechenden Terminen einen wie auch immer gearteten Flag mitgeben.
Das wird wahrscheinlich nichts, Flags gehen nur auf Inhalte. Du hast aber nur einen einzigen Node., damit bist du leider sehr unflexibel.
Du könntest über's Template gehen. Dazu musst du dir die entsprechende tpl.php raussuchen und bearbeiten. Wenn an einem Datum ein Termin gefunden wurde, musst du den dazu passenden Node laden und schauen, ob es der erste bzw. letzte Termin für das Event ist. Dann kann man entsprechende Ausgaben etc. vornehmen.
Danke
am 15.09.2011 - 09:26 Uhr
Danke für die Denkanstösse... mir war das z.Z. etwas zu "pro" und ich habe einen Workaround mit mehreren Nodes für solche Spezialfälle gemacht. Jedenfalls hab ich mal wieder einiges gelernt!