Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 05. Juni 2014 08:41
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
CGCalendar: Monatsnavigation statt prev/next
Hallo,
ich habe dieses Thema mal aus meinem letzten (ListIt2 als Kalender) ausgegliedert - weil es halt doch ein anderes ist, da ich es mit Listit nicht hingekriegt habe.
Ich würde gern in der list bzw upcominglist-Ansicht des CGCalendar eine Monatsnavigation statt vor/zurück verwenden.
Also
Juni
Juli
August
statt
Vor
Zurück
Und zwar sollen nur soviele Monate verfügbar sein, wie es Einträge gibt. Wenn ich also Termine für Juni und Juli eingebe, soll in Navigation eben auch nur Juni und Juli erscheinen. Abgelaufene Monate sollen nicht navigierbar sein.
Eine Möglichkeit wäre sicher über eine Kategorienavigation (Pro Monat eine Kategorie) mit einer Abfrage, ob Einträge vorhanden sind. Aber schöner wäre natürlich, wenn man auf Kategorien verzichten könnte.
Ob list oder upcominglist ist eigentlich egal - denn beide erfüllen nur einen Teil des Wunsches: Das List-Template trennt immerhin wie gewünscht nach Monaten, navigiert aber vor/zurück und kümmert sich nicht darum, ob es Einträge gibt oder gab. Das upcominglist-Template geht wie gewünscht nur in die Zukunft, kümmert sich aber nicht um Monatstrennung und hat dementsprechend auch keine Navigation.
Ist das möglilch?
Beitrag geändert von antibart (05. Juni 2014 09:47)
Offline
#2 05. Juni 2014 11:22
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: CGCalendar: Monatsnavigation statt prev/next
BTW: Die Monatsnamen statt "vor/zurück" auszugeben ist übrigens kein Problem: {$month_names[$month+1]}.
Das Problem ist "nur", dass eben ausschließlich die Monate navigierbar und permanent sichtbar sollen, in denen auch Termine stattfinden - bestenfalls nur upcomining.
Offline
#3 05. Juni 2014 13:00
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: CGCalendar: Monatsnavigation statt prev/next
Ist das möglilch?
Theoretisch ja.
Allein mit Smarty?
Evtl. möglich.
Aber viel zu kompliziert.
Idee: Das modul zweimal aufrufen. Einmal als list und im list-Template dann nochmal mit upcomminglist. Dann hast Du im List-Template eine Liste aller zukünftigen Termine.
Die müsste man dann durchgehen und das Datum (Monat) des Termins ermitteln. Den jeweiligen Monat packst Du in ein Array (sofern nicht schon vorhanden). Aus diesem Array könnte man sich dann eine Monatsnavigation basteln.
Aber ich denke, es wäre besser, wenn man sich dazu eine eigene Modul-Aktion bastelt.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#4 05. Juni 2014 13:17
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: CGCalendar: Monatsnavigation statt prev/next
Juchuuh - eine Antwort - ich hatte schon die Befürchtung, es läge am Modulprogrammierer
Ich versuch das mal, auch wenn ich Teil zwei noch nicht kapiere. Wie immer erstmal gucken, ob was passiert und was passiert
Aber ich denke, es wäre besser, wenn man sich dazu eine eigene Modul-Aktion bastelt
Kannisch nisch
Ich hatte zwischenzeitlich noch ne andere, etwas krude Idee. Das Modul auf drei Conent-Seiten (a zb drei Monate) , jeweils mit dem Parameter "month" aufrufen. Der Wert im Parameter month würde über zB srftime Monat oder halt Monat + 1 bzw 2 ermittelt. Dasselbe beim Menütitel.
Aber der Parameter "month" bewirkt überhaupt nichts. Auch nicht, wenn ich dort "august" oder "8" eingebe. In der Hilfe steht allerdings auch nichts darüber, welche Werte dort erlaubt sind.
Month: Display entries for a particular month. If year is not set, then the current year is assumed. This option only works if display is set to "list" or "calendar".
Beitrag geändert von antibart (05. Juni 2014 13:20)
Offline
#5 05. Juni 2014 13:37
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: CGCalendar: Monatsnavigation statt prev/next
1. upcominglist in list-template. Schon mal gut. Nun habe ich kein "Zurück" mehr in leere Monate. Nur werden natürlich für jeden Folgemonat alle Termine aus allen Monaten auf einer Seite angezeigt.
ED: nee - das lag nur daran, dass ich "$navigation.prev" vorher schon mal entfernt habe. So richtig weiter komme ich leider nicht.
Was sich verbessert ist, dass wenn ich upcoming im list-Template aufrufe, dann wird im upcoming immerhin überhaupt eine Navigation aktiviert.
Beitrag geändert von antibart (05. Juni 2014 15:09)
Offline
#6 05. Juni 2014 15:23
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: CGCalendar: Monatsnavigation statt prev/next
Ich denke gerade schwer darüber nach, dass doch in listit zu machen, auch wenn der Anwender dann etwas mehr Arbeit hat.
Der Nutzen vom Calender ja hauptsächllich, dass man sich wiederholende Termine nur einmal eingeben muss. Ansonsten hab ich überwiegend Nachteile - schon allein, dass man zwei zusätzliche Module braucht. Oder dass man in der Administration immer nur einen Monat sieht.
Dann gibt es in ListIt2 halt eine Kategorienavigation nach Monaten und wiederholende Termin müssen kopiert werden.
Beitrag geändert von antibart (05. Juni 2014 15:24)
Offline
#7 06. Juni 2014 07:55
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: CGCalendar: Monatsnavigation statt prev/next
Oder dass man in der Administration immerhttp://dev.cmsmadesimple.org/projects/cguserdirectory nur einen Monat sieht.
Hast du schon mal geschaut, ob sich dies durch eine Modifikation des entsprechenden Backend Templates ändern lässt (Stichwort custom_module)?
Offline
#8 06. Juni 2014 08:16
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: CGCalendar: Monatsnavigation statt prev/next
Hallo Cyberman,
nein, habe ich nicht. Damit kennen ich mich auch nicht so gut aus. Ich war schon von Anfang an genervt von dem Modul (auch wg CMS- und Zusatzmodulkombatibilität und der ganzen Spielerei, der nachlässigen Dokumentation etc), dass ich jetzt wieder bei ListIt2 bin. Warum kompliziert, wenn es auch einfach geht? Damit funktioniert fast alles auf Anhieb.
Wenn Listit2 eine Terminwiederholungsoption hätte (und evtl. ein Kalender-Tabellentemplate), dann wäre der CGCalender komplett überflüssig und man wäre dennoch viel flexibler.
Beitrag geändert von antibart (06. Juni 2014 08:17)
Offline
#9 06. Juni 2014 08:28
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: CGCalendar: Monatsnavigation statt prev/next
Schade, ich hätte da eine Lösung für CGCalendar auf Template-Ebene gehabt...
Listen-Template ("month_nav" - darauf achten, dass man die $events-Variable vor dem upcominglist-Aufruf in einer anderen Variable z.B. $_events sichert und diese dann in der foreach-schleife verwendet, weil die sonst mit den Events aus Upcominglist überschrieben werden):
{if isset($content_obj) && is_object($content_obj)}
{$_events=$events}
{cms_module module="CGCalendar" display="upcominglist" upcominglisttemplate="get_upcoming_months_numbers"}
{if $upcoming_month_numbers|count}
<ul>
{foreach from=$upcoming_month_numbers item="_month_number"}
<li>
{if $_month_number==$month} { * aktuell angezeigter Monat? * }
{$month_names[$_month_number]}
{else}
<a href="{root_url}/index.php?mact=CGCalendar,{$actionid},list,1&{$actionid}returnid={$content_obj->Id()}&{$actionid}month={$_month_number}">{$month_names[$_month_number]}</a>
{/if}
</li>
{/foreach}
</ul>
{/if}
{/if}
{foreach from=$_events key=key item=event}
... die Termine ...
{/foreach}
Upcominglist-Template ("get_upcoming_months_numbers"):
{$upcoming_month_numbers=[]}
{foreach from=$events key=key item=event}
{$start_month_number=$event.event_date_start|date_format:"%m"|intval}
{$end_month_number=$event.event_date_end|date_format:"%m"|intval}
{append var='upcoming_month_numbers' value=$start_month_number}
{if $start_month_number < $end_month_number && $event.event_date_end != 0}
{append var='upcoming_month_numbers' value=$end_month_number}
{/if}
{/foreach}
Und den CGCalendar dann im Seiten-Template oder im Seiten-Inhalt so aufrufen:
{cms_module module="CGCalendar" display="list" listtemplate="month_nav" month={'n'|date} year={'Y'|date}}
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#10 06. Juni 2014 08:43
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: CGCalendar: Monatsnavigation statt prev/next
Oh - Vielen Dank, NaN. Aber ich bin jetzt wieder in Listit2 neu verliebt.
Schon allein, dass ich unabhängig von CGSimpleSmarty und CGExtension bin, spricht dafür. Wer weiß, was beim nächsten Update wieder los ist.
Aber wenn der Kunde mit der Pflege in Listit überfordert ist, muss ich evtl. darauf zurückkommen. Daher danke snochmal.
Offline
#11 06. Juni 2014 08:44
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: CGCalendar: Monatsnavigation statt prev/next
Hm ... scheint außerdem doch nicht so richtig zu funktionieren.
Irgendwie wird nach einem Klick auf einen Monat der zweite Modulaufruf (upcominglist) nicht mehr ausgeführt.
Dadurch verschwindet die Monats-Navi
Check ich nicht.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#12 06. Juni 2014 08:46
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: CGCalendar: Monatsnavigation statt prev/next
LAss mal ..
Guck dir lieber das an (nur den) - ist auch viel einfacher:
http://www.cmsmadesimple.de/forum/viewt … 283#p31283
Beitrag geändert von antibart (06. Juni 2014 08:48)
Offline
Seiten: 1