[Neues Modul] Terminliste v3
Verfasst: Sa 19. Sep 2015, 23:37
Hallo Gemeinde,
hier nun die erste Version der Terminliste für Con4.9, basierend auf den Versionen von "schlaucher" für ältere Contenido-Versionen. Die Module wurden einem ziemlich großen Wandel unterzogen, daher müsste ich einen Roman schreiben zur Erklärung... Die grundlegendste Änderung ergeben sich in der Terminkategoriesteuerung, die mir bisher zu kompliziert war, da sie ggf. mehrfach eingegeben werden musste. Außerdem habe ich praktisch ALLE Ausgabemodule (Frontenduser-Suche, Teaser, Kalender) in ein Modul zusammengelegt, um nicht fortwährend die Terminroutine durch mehrere Module kopieren zu müssen.
Installation
Bitte die zip-Datei entpacken, die beiden Module per FTP hochladen und synchronisieren. In einem Unterordner von "Terminliste - Eingabe" liegen Dateien, die auf die jeweiligen Mandantenordner zu verteilen sind. Die CSS- und JS-Dateien bitte im Header des Layouts einbinden. Es wird jQuery benötigt, dies bitte vorher einbinden.
Danach ist folgendes zu tun:
- Gewünschte Terminkategorien in den Mandanteneinstellungen strichkommagetrennt anlegen (Bsp):
terminliste | categories | Seminar;Vortrag;Schulung;Workshop
- Gewünschte css-Klassen in den Mandanteneinstellungen anlegen (Bsp):
terministe | css_classes | highlight;special;soldout
- Administration/Sprache, letzter Block: die korrekten Datums- und Zeiteinstellungen vornehmen, Varianten von d.m.Y H:i:s; entscheidend ist das Datumsfeld. Falls andere Einstellungen gewünscht sind, dann im Modul selbst oben das Auslesen dieser Einstellungen aushebeln und dort eigene Formate setzen.
- Neue Vorlagen anlegen: eine für die Termineingabe, eine für die Terminausgabe und diese Artikeln/Kategorien zuweisen
Modul Termin Eingabe
Die meisten der alten Einstellungen sind wieder da, einige wenige wurden geopfert, weil sich andere Lösungen anbieten. Soweit möglich, wurde auf existierende CMS-Typen gesetzt - das macht das Datumshandling erstmal etwas umständlicher, dafür kann man über CMS-Date gleichzeitig die Uhrzeit mit einstellen. Den früheren Punkt "Highlight" gibt es so nicht mehr, dafür kann man jetzt jedem Termin css-Klassen mitgeben.
Der Eingabebereich lässt sich durch Auswählen geänderter Smarty-Templates im Konfigurationsbereich recht einfach verschlanken, ein Beispiel ist mit enthalten.
Prinzipiell lässt sich der Termin durch Aufrufen des Artikels im Frontend auch darstellen. Allerdings durchläuft er nicht die intensivere Routine, die in der normalen Terminliste angewendet wird. Da ich diese Funktion nicht wirklich brauche, müsstet Ihr hier im Modul selbst Dinge für die Ausgabe nachpflegen, falls es Euch wichtig ist.
Modul Termin Ausgabe
Wie schon erwähnt, laufen jetzt alle Ausgaben hier zusammen, daher ist der Konfigurationsbereich des Moduls umfangreicher. Die Ausgabe kennt drei Varianten:
- Ausgabe dessen, was in der Konfiguration angegeben ist
- Die Ausgabe des Frontenduser-Suchmoduls und dann ggf. dessen Ergebnisse
- Die Ausgabe des Kalenders und dann ggf. dessen Ergebnisse
Die Terminkategorieeinstellungen greifen für alle drei Fälle, die meisten anderen Einstellungen nur für je einen der drei o.g. Fälle.
Wenn alles richtig konfiguriert ist, sollte im Frontenduser-Suchmodul der DatePicker zu sehen sein rechts neben den Input-Feldern.
Die Namen der Tage und Monate lassen sich im Moduloutput über Arrays an die jeweilige Sprachversion anpassen. Alle Datumsfelder sollten somit auch mit sehr vielen Sprachversionen laufen und automatisch umgeschossen werden.
WICHTIG: Im Modul selbst habe ich vergessen zu erwähnen, dass (wie bisher) die Anzahl der anzuzeigenden Artikel auf "-1" stehen muss, wenn alle gezeigt werden sollen.
Smarty-Templates
Ähnlich wie bei der Article List Reloaded habe ich darauf verzichtet, einige frühere Konfigurationen einzubinden. Vieles lässt sich deutlich leichter lösen, indem man einfach Template-Varianten erstellt und diese zuordnet. So erstelle ich pro Termin einen recht umfangreichen Datensatz, dessen einzelne Werte in den Smarty-Templates dann verwendet werden können, um z.B. zu entscheiden, ob und wie gruppierte Termine dargestellt werden sollen. Eine Variablen-Liste findet sich in einem separaten Template, das man am Namen gut erkennen kann.
Die Module sind noch nicht perfekt und an manchen Stellen noch ungalant, und es sind wie gesagt vielleicht nicht alle bisherigen Funktionen da, oder mancher wünscht sich noch andere Arten von Konfigurationen, aber ich denke, für die meisten Anwendungsfälle triffts das schonmal ganz gut.
In den nächsten Wochen werde ich nicht dazu kommen, mich dem Modul intensiv weiter zu widmen, daher der Vorschlag: wer substanzielle Änderungen beisteuern möchte, möge das tun und mir die Änderungen bitte zuschicken - ich werde versuchen, das Modul weiter zu pflegen und feinzutunen.
Ich hoffe, ich habe keine wichtigen Dateien oder Infos vergessen, die Euch in die Lage setzen, die Module zum Laufen zu kriegen.
Ich freue mich auf Feedback!
LG
Viktor
Update v3.0.3 vom 30.11.2016:
Diverse Fehlerkorrekturen, bitte die revision.txt in der zip-Datei bemühen. Korrigiert sind vor allem Fehler in der "Link setzen"-Funktionalität und den Ortsdetails.
ACHTUNG: das Modul wird jetzt überwiegend für Version 4.10.x weitergepflegt. Die neueste Version findet sich dort.
viewtopic.php?f=116&t=43556
hier nun die erste Version der Terminliste für Con4.9, basierend auf den Versionen von "schlaucher" für ältere Contenido-Versionen. Die Module wurden einem ziemlich großen Wandel unterzogen, daher müsste ich einen Roman schreiben zur Erklärung... Die grundlegendste Änderung ergeben sich in der Terminkategoriesteuerung, die mir bisher zu kompliziert war, da sie ggf. mehrfach eingegeben werden musste. Außerdem habe ich praktisch ALLE Ausgabemodule (Frontenduser-Suche, Teaser, Kalender) in ein Modul zusammengelegt, um nicht fortwährend die Terminroutine durch mehrere Module kopieren zu müssen.
Installation
Bitte die zip-Datei entpacken, die beiden Module per FTP hochladen und synchronisieren. In einem Unterordner von "Terminliste - Eingabe" liegen Dateien, die auf die jeweiligen Mandantenordner zu verteilen sind. Die CSS- und JS-Dateien bitte im Header des Layouts einbinden. Es wird jQuery benötigt, dies bitte vorher einbinden.
Danach ist folgendes zu tun:
- Gewünschte Terminkategorien in den Mandanteneinstellungen strichkommagetrennt anlegen (Bsp):
terminliste | categories | Seminar;Vortrag;Schulung;Workshop
- Gewünschte css-Klassen in den Mandanteneinstellungen anlegen (Bsp):
terministe | css_classes | highlight;special;soldout
- Administration/Sprache, letzter Block: die korrekten Datums- und Zeiteinstellungen vornehmen, Varianten von d.m.Y H:i:s; entscheidend ist das Datumsfeld. Falls andere Einstellungen gewünscht sind, dann im Modul selbst oben das Auslesen dieser Einstellungen aushebeln und dort eigene Formate setzen.
- Neue Vorlagen anlegen: eine für die Termineingabe, eine für die Terminausgabe und diese Artikeln/Kategorien zuweisen
Modul Termin Eingabe
Die meisten der alten Einstellungen sind wieder da, einige wenige wurden geopfert, weil sich andere Lösungen anbieten. Soweit möglich, wurde auf existierende CMS-Typen gesetzt - das macht das Datumshandling erstmal etwas umständlicher, dafür kann man über CMS-Date gleichzeitig die Uhrzeit mit einstellen. Den früheren Punkt "Highlight" gibt es so nicht mehr, dafür kann man jetzt jedem Termin css-Klassen mitgeben.
Der Eingabebereich lässt sich durch Auswählen geänderter Smarty-Templates im Konfigurationsbereich recht einfach verschlanken, ein Beispiel ist mit enthalten.
Prinzipiell lässt sich der Termin durch Aufrufen des Artikels im Frontend auch darstellen. Allerdings durchläuft er nicht die intensivere Routine, die in der normalen Terminliste angewendet wird. Da ich diese Funktion nicht wirklich brauche, müsstet Ihr hier im Modul selbst Dinge für die Ausgabe nachpflegen, falls es Euch wichtig ist.
Modul Termin Ausgabe
Wie schon erwähnt, laufen jetzt alle Ausgaben hier zusammen, daher ist der Konfigurationsbereich des Moduls umfangreicher. Die Ausgabe kennt drei Varianten:
- Ausgabe dessen, was in der Konfiguration angegeben ist
- Die Ausgabe des Frontenduser-Suchmoduls und dann ggf. dessen Ergebnisse
- Die Ausgabe des Kalenders und dann ggf. dessen Ergebnisse
Die Terminkategorieeinstellungen greifen für alle drei Fälle, die meisten anderen Einstellungen nur für je einen der drei o.g. Fälle.
Wenn alles richtig konfiguriert ist, sollte im Frontenduser-Suchmodul der DatePicker zu sehen sein rechts neben den Input-Feldern.
Die Namen der Tage und Monate lassen sich im Moduloutput über Arrays an die jeweilige Sprachversion anpassen. Alle Datumsfelder sollten somit auch mit sehr vielen Sprachversionen laufen und automatisch umgeschossen werden.
WICHTIG: Im Modul selbst habe ich vergessen zu erwähnen, dass (wie bisher) die Anzahl der anzuzeigenden Artikel auf "-1" stehen muss, wenn alle gezeigt werden sollen.
Smarty-Templates
Ähnlich wie bei der Article List Reloaded habe ich darauf verzichtet, einige frühere Konfigurationen einzubinden. Vieles lässt sich deutlich leichter lösen, indem man einfach Template-Varianten erstellt und diese zuordnet. So erstelle ich pro Termin einen recht umfangreichen Datensatz, dessen einzelne Werte in den Smarty-Templates dann verwendet werden können, um z.B. zu entscheiden, ob und wie gruppierte Termine dargestellt werden sollen. Eine Variablen-Liste findet sich in einem separaten Template, das man am Namen gut erkennen kann.
Die Module sind noch nicht perfekt und an manchen Stellen noch ungalant, und es sind wie gesagt vielleicht nicht alle bisherigen Funktionen da, oder mancher wünscht sich noch andere Arten von Konfigurationen, aber ich denke, für die meisten Anwendungsfälle triffts das schonmal ganz gut.
In den nächsten Wochen werde ich nicht dazu kommen, mich dem Modul intensiv weiter zu widmen, daher der Vorschlag: wer substanzielle Änderungen beisteuern möchte, möge das tun und mir die Änderungen bitte zuschicken - ich werde versuchen, das Modul weiter zu pflegen und feinzutunen.
Ich hoffe, ich habe keine wichtigen Dateien oder Infos vergessen, die Euch in die Lage setzen, die Module zum Laufen zu kriegen.
Ich freue mich auf Feedback!
LG
Viktor
Update v3.0.3 vom 30.11.2016:
Diverse Fehlerkorrekturen, bitte die revision.txt in der zip-Datei bemühen. Korrigiert sind vor allem Fehler in der "Link setzen"-Funktionalität und den Ortsdetails.
ACHTUNG: das Modul wird jetzt überwiegend für Version 4.10.x weitergepflegt. Die neueste Version findet sich dort.
viewtopic.php?f=116&t=43556