Zum Inhalt springen

Calendar Base

Erstellt am 9. Januar 2007 · 21 Antworten · letzte Antwort am 19. Januar 2007 · Seite 1 von 2

Tags: Frage

MysteriousX ·

Hallo,
ich möchte die Extension Calendar Base so einrichten, dass ich in einem zweispaltigen Layout in der linken Spalte immer eine aktuelle Miniübersicht des gewählten Monats habe. In der rechten Spalte soll dann beim Aufrufen der Seite eine Listenansicht erscheinen. Wenn ich dann auf ein Event klicke, soll das Event angezeigt werden und die Monatsansicht erhalten bleiben.

Die beiden Ansichten habe ich auch schon erstellt. Leider gibt es noch vollgende Probleme.
In der Monatsansicht:
- Klicke ich auf einen Tag oder eine Woche, sollen die Daten in der rechten Spalte angezeigt werden. Die Linke soll weiterhin die Monatsansicht beinhalten.

Ich hoffe Ihr könnt mir helfen, ist absolut dringend!!

TS habe ich nicht erstellt, außer ein anderes Template für die Monatsansicht hinzugefügt.

steffenk ·

das ist nicht leicht, da Du 3 Instanzen des Plugins auf einer Seite hast, die alle eine andere View beinhalten.

Ich schau mir das morgen mal an, dann kann ich Dir näheres sagen 😉

MysteriousX ·

Das wär richtig super.
Im Moment habe ich zwei Instanzen der Extension.

Einmal den Minikalender mit dem aktuellen (bzw. gewählten) Monat
Und eine Listenansicht aller Events.

Wenn ich auf ein Event in der Listenansicht klicke, erhalte ich auch die Detailansicht und der Monatskalender bleibt stehen. Leider funktioniert dies aber nicht in der Monatsansicht, da er ja die gleiche Spalte nutzt um das Event darzustellen....

MysteriousX ·

Nein, die Seite ist nicht sichtbar. Kann ich auch im Moment nicht sichtbar machen.

Aber ich kopier mal eben alles hier rein, so wie ich die Ext im Moment konfiguriert habe:
SysOrdner hat die PID 751
Die Seite mit den Kalendern 750

Das Template für die MiniMonatsübersicht sieht so aus:

<!-- monthmini.tmpl -->

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
	<td align="center" class="title">
		<table width="100%" border="0" cellspacing="0" cellpadding="0">
		<tr>
			<td width="10%" class="navback"><!-- ###PREV_MONTHLINK### start--><a class="psf" href="MONTH.php?cal=###CAL###&amp;getdate=###PREV_MONTH###"><!-- ###PREV_MONTHLINKTEXT### start--><img src="###IMG_PATH###/left_day.gif" alt="[Previous Month]" border="0" align="right" /><!-- ###PREV_MONTHLINKTEXT### end--></a><!-- ###PREV_MONTHLINK### end--></td>
			<td width="80%" class="title" nowrap="nowrap" align="center" valign="middle"><h1>###DISPLAY_DATE###</h1></td>
			<td width="10%" class="navback"><!-- ###NEXT_MONTHLINK### start--><a class="psf" href="MONTH.php?cal=###CAL###&amp;getdate=###NEXT_MONTH###"><!-- ###NEXT_MONTHLINKTEXT### start--><img src="###IMG_PATH###/right_day.gif" alt="[Next Month]" border="0" align="left" /><!-- ###NEXT_MONTHLINKTEXT### end--></a><!-- ###NEXT_MONTHLINK### end--></td>
		</tr>
		</table>
	</td>
</tr>  			
</table>
<div id="minical" align="center">###MONTH_SMALL|+0### </div>

Nix spannendes also

Und das Listentemplate ist im Moment noch das Standardtemplate. Wird sich aber auch ändern.

Im TS steht nix, außer um das neue Template zu wählen:

plugin.tx_cal_controller.view.month.monthTemplate = fileadmin/templates/cal/month.tmpl
plugin.tx_cal_controller.view.defaultView = month

That's all...

velvet ·

Hallo Steffen,

ich habe Deinen Link mal angeschaut, weil ich auch Probleme bei der Konfiguration der Extension "cal" habe.

In der rechten Spalte des 3-spaltigen Layouts soll sich eine Monatsübersicht befinden. Je nach Einstellung werden die Tage verlinkt oder auch nicht.

Links werden angezeigt wenn ich folgendes TS benutze:

lib.kalender >
lib.kalender < plugin.tx_cal_controller
lib.kalender {
   pages = 820 
   view {
      allowedViews = month,day,list
      #allowedViews = month, day
      defaultView = month 
      month.monthTemplate =   fileadmin/sge07/template/ext/cal/minimonth.tmpl
      calendar.defaultUid = 820 
      isStatic = 1
      day.dayViewPid = 783
      weekStartDay = Monday
      }       
}

Allerdings wird beim Klick auf dem Link die Detailansicht nicht nur im Content-Bereich, sondern auch in der rechten Spalte angezeigt.

Wenn ich folgendes TS verwende:

lib.kalender >
lib.kalender < plugin.tx_cal_controller
lib.kalender {
   pages = 820 
   view {
      allowedViews = month, day
      defaultView = month 
      month.monthTemplate =   fileadmin/sge07/template/ext/cal/minimonth.tmpl
      calendar.defaultUid = 820 
      isStatic = 1
      day.dayViewPid = 783
      weekStartDay = Monday
      }       
}

Erhalte ich keine Verlinkung, wie auf der Seite hinter Deinem Link.

Was läuft falsch?

Hier noch der Link zu meiner Problemseite (noch im Aufbau) 😉
http://neu.gymnasiumeschweiler.de

Systemdaten:
typo3 4.0.1
cal 0.14.1

Gruß Nicole

steffenk ·

ok, ich zeig Dir mal meine Konfiguration. Es wird rechts schon verlinkt 😉 Allerdings klappt das alles nur mit der neuesten SVN-Version richtig, da Mario und ich anhand dieser Seite einige Bugs entfernt haben.

#Templates
plugin.tx_cal_controller.view.imagePath = fileadmin/templates/cal/img
plugin.tx_cal_controller.view.calendar.createCalendarTemplate = fileadmin/templates/cal/create_calendar.tmpl
plugin.tx_cal_controller.view.list.listTemplate = fileadmin/templates/cal/list.tmpl
plugin.tx_cal_controller.view.event.eventTemplate = fileadmin/templates/cal/event.tmpl
plugin.tx_cal_controller.view.event.phpicalendarEventTemplate = fileadmin/templates/cal/phpicalendar_event.tmpl

#Targets
plugin.tx_cal_controller.view.dayLinkTarget = list
plugin.tx_cal_controller.view.locationLinkTarget = location
plugin.tx_cal_controller.view.event.eventViewPid = 25
plugin.tx_cal_controller.view.day.dayViewPid = 25
plugin.tx_cal_controller.view.location.locationViewPid = 25
plugin.tx_cal_controller.view.organizer.organizerViewPid = 25

#Format
plugin.tx_cal_controller.view.list.eventDateFormat = %d.%B
plugin.tx_cal_controller.view.list.eventTimeFormat = %H:%M
plugin.tx_cal_controller.view.event.eventDateFormat = %d.%B
plugin.tx_cal_controller.view.event.eventTimeFormat = %H:%M
plugin.tx_cal_controller.view.event.image.imageLightbox2 = 1

plugin.tx_cal_controller.view.location.image.imageLightbox2 = 1

plugin.tx_cal_controller.view.list.description.stdWrap.stripHtml = 1
plugin.tx_cal_controller.view.list.description.stdWrap.crop = 60|...|1



lib.minical = COA
lib.minical {
	wrap = <h3>Das nächste Konzert</h3>|
	
	5 < plugin.tx_cal_controller
	5 {
		
		pages = 22
		view {
         			allowedViews = list
         			list.listTemplate = fileadmin/templates/cal/list.tmpl
	                	day.dayViewPid = 25
                		weekStartDay = Monday
                		list.maxEvents = 1
                		
                	}

	}
	
	10 < plugin.tx_cal_controller
	10 {
		pages = 22
		view {
         			allowedViews = month
         			month.monthTemplate = fileadmin/templates/cal/monthmini.tmpl
	                	day.dayViewPid = 25
                		weekStartDay = Monday
                		dayLinkTarget = list
                		list.listViewPid = 25
                		event.listViewPid = 25
                		
                 	}
	}
	20 = TEXT
	20.wrap= <p>|</p>
	20.value=weitere Konzerte
	20.typolink.parameter=7
          
}
MysteriousX ·

Ich komme gerade nicht auf das Repository (ist in der Firma geblockt). Muss also später mal ausprobieren, ob das ganze funktioniert. ^^

Kann man eine Seitensteuerung für die Events in der Listenansicht einstellen?

Ich hab den Kalender auch mal auf Performance getestet im Moment steigt er bei ca. 5000 wiederkehrenden Events einer Kategorie aus.
Warum sagt er aber nicht. Nur so als Info 😉

Bis dahin schonmal danke für die Hilfe.

MysteriousX ·

Ich hab eins erstellt, was sich 200 mal wiederholt. Und das habe ich dann aus Faulheit ^^ per Script vervielfältigt und irgendwo zwischen 5000 und 6000 steigt der Kalender aus.
Würd ich dir gerne zeigen, aber ist ne Kundenwebsite und die Seite ist im Moment noch versteckt, weil der Kalender noch nicht fertig konfiguriert ist.

Aber ich muss schonmal sagen, dass er um einiges schneller ist, als der JW Kalender.

btw. brauch ich für das Repository einen User?!

steffenk ·

fürs repos braucht man einen user - aber dafür gibts die nightly builds (siehe link in diesem thread)

ok, bei den recurrent events werde ich mal testen, es kann auch sein, das Du was falsch gesetzt hast.

Wir haben schon was neues eingebaut, die Liste kann nach Tagen/Wochen/Monaten gewrappt werden. Das ist echt praktisch.

MysteriousX ·

Hier ist mein Script, womit ich die Testevents erzeugt habe:

$start = strtotime('+'.$i.' days');
	$end = strtotime('+'.($i + 1).' days');
	
	$query1 = 'INSERT INTO tx_cal_event
  (uid, pid, tstamp, crdate, cruser_id, deleted, hidden, starttime, endtime, start_date, end_date, start_time, end_time, title, calendar_id, category_id, organizer, organizer_id, location, location_id, description, freq, until, cnt, byday, bymonthday, bymonth, intrval, monitor_cnt, exception_cnt, fe_cruser_id, fe_crgroup_id, shared_user_cnt, type, page, ext_url, isTemp, image, imagecaption, imagealttext, imagetitletext, attachment)
VALUES
  ('.$i.', 751, 1168418499, 1168334196, 4, 0, 0, 0, 0, '.$start.', '.$end.', 0, 0, "Test-Event", 1, 1, "", 0, "", 0, "Decipio ne Sus deduco his nam verecundor Subaudio, hi ne. Prae vox et. Reprobo sino vituperium Parentela humus de expello exinde. Per cur Iam in supparum Eia ago sis misericordaliter Occatio ter aut Aliusmodi vel Fugo redigo, iam ops tam Plaga consulo sui ymo Zephyr humilitas. Ivi praebalteata Occumbo congruens seco, lea qui se surculus sed abhinc praejudico in forix curo. Sui aut hoc refectorium.", "day", "0", 200, "", "", "", 1, 0, 0, 0, 0, 0, 0, 0, "", 0, "", "", "", "", "");';
	  
	$query2 = 'INSERT INTO tx_cal_event_category_mm (uid_local, uid_foreign, tablenames, sorting) VALUES ('.$i.', 1, "", '.$i.');';

Das ganze steht in einer Schleife, die einfach die Events in die DB ballert.

Welchen Link meinst du?

MysteriousX ·

Ok, das sieht ja schonmal gut aus.

N paar Sachen habe ich noch 🙂

1. Wie kann ich die Liste nach Monaten usw. wrappen?
2. Wenn ich in der Monatsansicht einen Tag auswähle, dann schaltet die Liste nicht um. Was brauch ich noch?!

Mein TS:

lib.minical = COA
lib.minical {
   wrap = <h3>Der neue Veranstaltungskalender</h3>|
       
   10 < plugin.tx_cal_controller
   10 {
      pages = 751
      view {
         defaultView = month
         allowedViews = month
         month.monthTemplate = fileadmin/templates/cal/monthminiview.tmpl
         day.dayViewPid = 750
         weekStartDay = Monday
         dayLinkTarget = list
         list.listViewPid = 750
         event.listViewPid = 750    
      }
   }
}

lib.listcal = COA
lib.listcal {
wrap = <h3>Die aktuellen Veranstaltungen</h3>|

   20 < plugin.tx_cal_controller
   20 {
      pages = 751
      view {
         defaultView = list
         allowedViews = list,month,week,day,event
         month.monthTemplate = fileadmin/templates/cal/list.tmpl
         day.dayViewPid = 750
         weekStartDay = Monday
         dayLinkTarget = list
         list.listViewPid = 750
         event.listViewPid = 750    
      }
   }
}
steffenk ·

der wrapper ist schon eingebaut, d.h. er ist ab morgen in den nightly packages.
Du kannst ihn über Typoscript aktivieren.

Was soll denn passieren, wenn Du im Monat auf einen Tag klickst ?

MysteriousX ·
steffenk schrieb

Was soll denn passieren, wenn Du im Monat auf einen Tag klickst ?

Die Listenansicht soll dann auf die entspr. Tage springen.

Ich zeige ja immer nur eine begrenzte Anzahl an Terminen in der Liste an. Und wenn ich jetzt in der Kalenderansicht zwei Monate weiterspringe und dann auf einen Tag klicke, sollte die Liste ja auch dahin springen...
u know?!