Ich habe ein kleines Problem mit der Typo3-Extension "jw_calendar".
Ich würde die Extension gerne unter anderem in einer 180px breiten Spalte als Monatsansicht einsetzen.
Im Prinzip ist die Anpassung mittels Template kein Problem, aber leider komme ich mit der Monatsnavigation nicht ganz klar.
Ich möchte natürlich nicht ganz auf eine Navigation verzichten.
Das vorgegebene Modell (letztes Jahr, Monate des aktuellen Jahres 2zeilig, kommendes Jahr) würde ich gerne deutlich vereinfachen: "letzter Monat, aktueller Monat, folgender Monat".
Jetzt reichen meine beschränkten PHP-Kentnisse gerade noch aus, zu verstehen, dass die Navigation zum Teil hardcodet ist (6 Einträge pro Zeile für die Monate, Monatsweiterschaltung mittels Unix-Time-Stamps, usw.), aber bei der Frage, wie ich das umbauen muß, um die Links für das von mir gewünschte System zu erzeugen muß ich leider passen.
Wäre Klasse, wenn mir jemand helfen könnte.
Btw: Absolut perfekt wäre natürlich, wenn ich zwischen den beiden Navigationsmodellen wählen könnte. 😃
Zur Veranschaulichung:
So sieht es im Moment aus.
Bild: yandor.de/jw_calendar.jpg
Geht zwar auch, aber eigentlich hätte ich das Navigationsmenü gerne wesentlich schlanker.
Hallo,
erstmals: das schaut richtig toll aus!! respekt! gibts da ne ganze seite von dem design? 8-)
naja noch schlanker? ein paar px padding/margin müsstn da ja schon noch drin sein, oder täusch ich mich da schon?
Ja, ne ganze Seite gibts auch, aber die ist noch lokal auf meinem Apachen.
Eigentlich soll die dieses Wochenende raufgeladen werden, werde den Link dann mal zur kritischen Begutachtung posten.
Zur Navigation: Ja klar, kann ich da noch Paddings usw. rausnehmen, aber darum geht es nicht.
Ich hätte gerne eine Navigation, nur aus 3 Elementen besteht:
< Mai 2005 | Juni 2005 | Juli 2005 >
So in der Art.
Ja das lässt sich machen schau mal
in die Datei typo3conf/ext/jw_calendar/pi1/class.tx_jwcalendar_pi1_views.php
in Zeille 66 die Funktion function monthView(){
dort einfach anpassen.
Äh ja, da habe ich auch reingeschaut, deswegen sagte ich ja oben, dass diese Geschichte hardcodet ist.
Das Problem ist leider nur, dass ich nicht blicke, wie ich da was verändern muß, um den gewünschten Erfolg zu erzielen.
Wie gesagt, beschränkte PHP-Kenntnisse. :o
Ja das muss /kann man da ändern zb hab ich die
Jahresblätterei umgebaut das man Monate vor und zurück gehen kann.
Hier mal der code(steht bei mir nach der jahresblätterei drin):
/* month...*/
/* Templates */
$monthViewT = $this->cObj->getSubpart($this->templateCode, '###MONTH_VIEW###');
$lastMonthT = $this->cObj->getSubpart($monthViewT, '###GO_LAST_MONTH###');
$nextMonthT = $this->cObj->getSubpart($monthViewT, '###GO_NEXT_MONTH###');
$submitEvent = $this->cObj->getSubpart($monthViewT, '###SUBMIT_EVENT###');
$rems = array(); // Region markers
$sims = array(); // Simple markers
/* create year links */
$lastMonth = strtotime((strftime('%m', $time) - 1).' / '.(strftime('%d', $time)).' / '.(strftime('%Y', $time)) );
$nextMonth = strtotime((strftime('%m', $time) + 1).' / '.(strftime('%d', $time)).' / '.(strftime('%Y', $time)));
$labelLastMonthalt = strftime('%B %Y', $lastMonth);
$labelNextMonthalt = strftime('%B %Y', $nextMonth);
$labelLastMonth = '<img src="fileadmin/images/menu/pfeil-links.gif" alt="'.$labelLastMonthalt.'" title="'.$labelLastMonthalt.'" />';
$labelNextMonth = '<img src="fileadmin/images/menu/pfeil-rechts.gif" alt="'.$labelNextMonthalt.'" title="'.$labelNextMonthalt.'" />';
$sims = array(); // Region markers
$Vars = array();
$Vars['time']=$lastMonth;
$Vars['uid'] = $this->uid;
$Vars['view'] = $this->jwOptions['viewmode'];
$Vars['cat'] = $this->jwVars['cat'];
$sims['###DATA###'] = $this->pi_linkTP($labelLastMonth,Array($this->prefixId=>$Vars),$this->caching);
$rems['###GO_LAST_MONTH###'] = $this->cObj->substituteMarkerArrayCached($lastMonthT, $sims, array(),array());
$Vars['time']=$nextMonth;
$sims['###DATA###'] = $this->pi_linkTP($labelNextMonth,Array($this->prefixId=>$Vars),$this->caching);
$rems['###GO_NEXT_MONTH###'] = $this->cObj->substituteMarkerArrayCached($nextMonthT, $sims, array(),array());
/* ende month...*/
Du musst im template halt noch die richtigen marker setzen.
viel spass
@duotone: Du bist der Größte!!!!
Hab es gerade ausprobiert, klappt wunderbar.
Besten Dank.