Zum Inhalt springen

td_calendar - Listenansicht ändern im Template

Erstellt am 6. September 2012 · 27 Antworten · letzte Antwort am 21. November 2012 · Seite 1 von 2

Tags: Kalender & Termine, Frage

andy-man ·

Hallo,
ich wollte in der Listenansicht des Kalenders noch die Location dazu haben. Dazu habe ich die Marker von der Single-Seite genommen und diese in die Listenansicht übernommen, doch leider werden diese nicht angezeigt. Es erscheinen nur die Marker in der Tabelle, aber keine Werte.
Hier mal das Template.

<html>
<body>
<div class="tx-tdcalendar-pi1">

<!-- ###LIST_VIEW### begin -->
      	<div class="viewheader">
			<div class="selector">###CATEGORY_TITLE###</div>
		</div>
      	<div class="tdcalendar_list">
        	<table class="items">
	        	<!-- ###ITEM### begin -->
	    			<tr>
					<td class="catcolor ###ODD_EVEN###" style="background: ###CATCOLOR###;">
						 
	          			</td>  
	          			<td class="label ###ODD_EVEN###">
							<div class="date">###DATE_BEGIN###</div>
	            			<div class="time">###TIME_BEGIN###</div>
	            			<div class="category">###CATEGORY###</div>
	          			</td>
	          			<td class="item ###ODD_EVEN###">
	            			<h3>###TITLE###</h3>
	            			<div class="teaser">###TEASER### <span class="readmore">###READ_MORE###</span></div>
	          			[b]</td>
						<td class="location ###ODD_EVEN###">
	            			<h3>###LOCATION_LABEL###</h3>
	            			<div class="teaser">###LOCATION###</div>
	          			</td>[/b]
          			</tr>	
	       		<!-- ###ITEM### end -->
        	</table>  
      	</div>
   
.....

<!-- ###SINGLE_VIEW### begin -->
	<div class="viewheader">
		<h5>###VIEW_TITLE###</h5>
	</div>

	<div class="tdcalendar_single">
   		<div class="category"><span class="catcolor" style="background: ###COLOR###"> </span> ###CATEGORY###</div>
   		<div class="tdcontent">
			<h2 class="itemtitle">###TITLE###</h2>
   			<div class="itemcontent">
	   		###IMAGE###
				<div class="itemtext">
					###TEASER###
					###DESCRIPTION###
					###LINK###
				</div>
				
			</div>
			<div class="clear"> </div>
			<div class="org">
				<!-- ###CUT_ORGANIZER### begin -->
					###ORGANIZER_LABEL###
					<div class="item">###ORGANIZER### <br />###EMAIL###</div>
				<!-- ###CUT_ORGANIZER### end -->
				<!-- ###CUT_LOCATION### begin -->
					###LOCATION_LABEL###
					<div class="item">###LOCATION###</div>
				<!-- ###CUT_LOCATION### end -->
					###BEGIN_LABEL###
					<div class="item">###BEGIN_DATE### ###AT_LABEL### ###BEGIN_TIME###</div>
				<!-- ###CUT_END### begin -->
					###END_LABEL###
					<div class="item">###END_DATE### ###AT_LABEL### ###END_TIME###</div>
				<!-- ###CUT_END### end -->
					<div class="clear"> </div>
			</div>
		</div>
		###SUBMIT_EVENT###
	</div>
<!-- ###SINGLE_VIEW### end -->

<!-- ###ORGANIZER_VIEW### begin -->
		<div class="viewheader">
			<h5>###VIEW_TITLE###</h5>
		</div>
		<div class="tdcalendar_organizer">
			<h4 class="title">###NAME###</h4>
			<div class="itemcontent">
	     		###IMAGE###
	     		###DESCRIPTION###
	        </div>
			<div class="org">
				<!-- ###CUT_ADDRESS### begin -->
					###ADDRESS_LABEL###
					<div class="addritem">###ADDR_NAME###<br />###STREET###<br />###ZIP###  ###CITY###</div>
				<!-- ###CUT_ADDRESS### end -->
				<!-- ###CUT_PHONE### begin -->
					###PHONE_LABEL###
					<div class="item">###PHONE###</div>
				<!-- ###CUT_PHONE### end -->
	          	<!-- ###CUT_EMAIL### begin -->
	        		###EMAIL_LABEL###
		        	<div class="item">###EMAIL###</div>
	          	<!-- ###CUT_EMAIL### end -->
	          	<!-- ###CUT_LINK### begin -->
        			###LINK_LABEL###
		        	<div class="item">###LINK###</div>
	          	<!-- ###CUT_LINK### end -->
					<div class="clear"> </div>
			</div> 
			###BACK###
	    </div>
<!-- ###ORGANIZER_VIEW### end -->

<!-- ###LOCATION_VIEW### begin -->
		<div class="viewheader">
			<h5>###VIEW_TITLE###</h5>
		</div>
		<div class="tdcalendar_location">
			<h2 class="title">###LOCATION###</h2>
			<div class="itemcontent">
	     		###IMAGE###
	     		###DESCRIPTION###
	        </div>
			<div class="org">
				<!-- ###CUT_ADDRESS### begin -->
					###ADDRESS_LABEL###
					<div class="addritem">###ADDR_NAME###<br />###STREET###<br />###ZIP###  ###CITY###</div>
				<!-- ###CUT_ADDRESS### end -->
				<!-- ###CUT_PHONE### begin -->
					###PHONE_LABEL###
					<div class="item">###PHONE###</div>
				<!-- ###CUT_PHONE### end -->
	          	<!-- ###CUT_EMAIL### begin -->
	        		###EMAIL_LABEL###
		        	<div class="item">###EMAIL###</div>
	          	<!-- ###CUT_EMAIL### end -->
	          	<!-- ###CUT_LINK### begin -->
        			###LINK_LABEL###
		        	<div class="item">###LINK###</div>
	          	<!-- ###CUT_LINK### end -->
					<div class="clear"> </div>
			</div> 
			###BACK###
	    </div>
<!-- ###LOCATION_VIEW### end -->

<!-- ###SELECT_VIEW### begin -->
	<select name="###NAME###" class="tx_td_select" onChange="###ONCHANGE###" size="###SIZE###">
		<!-- ###OPTIONS### begin -->
			<!-- ###EMPTY_OPTION### begin -->
				<option>###EMPTY_TITLE###</option>
			<!-- ###EMPTY_OPTION### end -->
			<!-- ###OPTION### begin -->
				<option value="###VALUE###" ###SELECTED###>###LABEL###</option>
			<!-- ###OPTION### end -->
		<!-- ###OPTIONS### end -->
	</select>
<!-- ###SELECT_VIEW### begin -->

<!-- ###EXCEVENT_VIEW### begin -->
	<div class="excevent" style="###COLOR###">
		###EXC_TITLE###
	</div>
<!-- ###EXCEVENT_VIEW### end -->
</div>
</body>
</html>

Ist mein Ansatz falsch?
Vielen Dank im voraus für eure Hilfe.

andy-man

boykottke ·
andy-man schrieb

Ist mein Ansatz falsch?

ja. der ist leider insofern falsch, als dass in der listenansicht die werte für location gar nicht erst aus der datenbank geholt werden. die location ist also nur in der singleansicht sichtbar. das rendering hatte ich von jw_calendar übernommen (dessen fortführung diese extension ist), insofern hatte ich gar nicht daran gedacht, dass man das brauchen könnte... 🙁

andy-man ·

Hallo boykottke,
kannst du dies in der nächsten Zeit noch anpassen bzw. vervollständigen, dass man in der Listenansicht auch den Ort mit angezeigt bekommt? Ist das noch von dir angedacht?

Danke

andy-man

boykottke ·

Mhh... wenn es ein einfacher left join ist, dann bastel ich es noch ein. Aber wenn es größere Probleme damit gibt, kann ich für nichts garantieren... 😉

boykottke ·

In der Version 0.2.6 ist nun neben einigen Bugfixes auch die Möglichkeit verfügbar, die Marker ###LOCATION### und ###ORGANIZER### in der Listenansicht und in den Tooltips zu verwenden. Bei Problemen mit der neun Version bitte eine Info an mich. (Mailadresse steht im Manual)

Beste Grüße

boykottke ·

Ach so: Leider war es notwendig, die Version nun entgültig auf die Version 4.5 von TYPO als Minimalanforderung zu heben. Es ist möglich, die Version auch noch unter TYPO3 ab VErsion 4.3 zu verwenden, allerdings kann ich für diesen Einsatz nicht mehr garantieren.

andy-man ·

Hallo boykotte,
vielen Dank für die schnelle Umsetzung - es funktioniert super :-}. Für mich ist das Tool jetzt einfach klasse - das "einfachste" und beste Kalendermodul.

andy-man

andy-man ·

Hallo boykotte,
ich habe dir ja geschrieben, dass ich die neue Version eingebaut habe. Es funktioniert auch super - aber ich habe heute einen Fehler entdeckt. Nach dem Update auf die Version 0.2.6 kann ich keine neuen Datensätze in die Seiten mehr einfügen - ändern der vorhandenen Sätze ist möglich, aber bei neuen Datensätzen wird die Seite "Neues Inhaltselement" nicht mehr angezeigt. Ich habe dann die Version 0.2.5 wieder zurückgespielt und alles war wieder beim alten.

Gruß andy-man

boykottke ·
andy-man schrieb

Nach dem Update auf die Version 0.2.6 kann ich keine neuen Datensätze in die Seiten mehr einfügen - ändern der vorhandenen Sätze ist möglich, aber bei neuen Datensätzen wird die Seite "Neues Inhaltselement" nicht mehr angezeigt. Ich habe dann die Version 0.2.5 wieder zurückgespielt und alles war wieder beim alten.

Ich kann den Fehler so nicht nachvollziehen. Bei mir läuft alles wie gehabt. Hast due einen Screenshot für mich oder ähnliches?

boy_kottke ·

Ach so, solange du TYPO3 4.7 verwendest ( und nicht 6.0) kannst du dem abhilfe schaffen, indem du in der Datei EXT:td_calendar/pi1/class.tx_tdcalendar_pi1_wizicon.php die Zeilen der Versionsweiche auskommentierst. Sieht dann folgendermaßen aus:

//if ($version >= 4007000) {
//    $LOCAL_LANG =  t3lib_l10n_parser_Llxml::getParsedData($llFile, $GLOBALS['LANG']->lang);
//} else {
    $LOCAL_LANG =  t3lib_div::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);
//}

Dann wird die XML-File wieder mit der "klassischen" Funktion geparst. Allerdings fliegt die in 6.0 raus. Bis dahin muss es dann ein Bugfix geben.

LG

andy-man ·

Hallo boy_kotte,
ich habe die beiden Zeile deativiert. Jetzt kann ich neue Inhaltselemente wieder einfügen. Was mir noch aufgefallen ist, dass bei der Auswahl der Inhaltselemente die Bezeichnung vom Kalender fehlt.

Gruß andy-man

td_kalender.jpg

boy_kottke ·

Und die Zeile steht aktiv noch drin?

$LOCAL_LANG = t3lib_div::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);

merkwürdig. cache geleert?

LG

andy-man ·

Hallo boy_kottke,
ja, der Cache ist geleert und alle Zeilen sind nicht mehr aktiv.
Beim Anlegen eines neuen Datensatzes ist die Beschriftung ok, nur wenn ich ein neues Inhaltselement auf einer Seite platzieren möchte, ist nur das Icon sichtbar.

andy-man

boy_kottke ·

Na, die Zeile, die ich da zitiert habe, ist die Zeile, dir dringend aktiv sein muss, damit überhaupt noch ne Beschriftung gibt. das ist die alte Methode, die wir hier jetzt wieder aktiv anwenden. Wenn die wirklich auskommentiert ist, wundert mich die fehlende Beschriftung eher wenig... 😉

andy-man ·

Hallo boy_kottke,
sorry - du das habe ich komplett übersehen, das kommt, wenn man nicht richtig liest :-} oder ich brauch eine Brille.
Hatte alle vier Zeilen auskommentiert.
Nun wird die Beschriftung auch angezeigt.

Bei der Einbindung von Bilder im Kalender wollte ich gern, dass beim Klick auf das Bild, dies über die Fancybox angezeigt wird.

im ersten Stepp hatte ich es so versucht:

plugin.tx_tdcalendar_pi1.single.image {
      file.maxW = 110
      file.maxH = 110
     imageLink {
      typolink >
      typolink {
        title.data = register:caption
        parameter.override.cObject = IMG_RESOURCE
        parameter.override.cObject.file.import.data = TSFE:lastImageInfo|origFile
        parameter.override.cObject.file.maxW = 800
        parameter.override.cObject.file.maxH = 600
        ATagParams = class="jqfancybox" rel="fancybox"
        ATagParams.insertData = 1
      }
    }
  }

doch das hat nicht gegriffen, da das Bild über onClick geöffent wird.
Dies wollte ich über das Script, das ich beim Modul imageFlow einsetze

onClick: function(){
  jQuery.fancybox({
    'padding': 0,
    'href': this.url,
    'titlePosition': 'inside',
    'transitionIn': 'elastic',
    'transitionOut': 'elastic'
  });
}

einbauen.

Doch das funktioniert auch nocht. Kannst du mir einen Tip geben, wie ich dies einbauen kann.

Danke andy-man

boy_kottke ·
plugin.tx_tdcalendar_pi1.single.image {
     file.maxW = 110
     file.maxH = 110
     imageLinkWrap = 1
     imageLinkWrap {
          JSwindow = 0
          directImageLink = 1
          linkParams {
               ATagParams= class="jqfancybox" rel="fancybox"
               // oder, da HTML5-konform: 
               ATagParams.dataWrap = class = "jqfancybox" data-fancybox-group="{field:uid}"
               height = 
               width = 
               enable = 1
          }
    }
  }

Sollte es dann nicht funktionieren, melde dich noch mal, denn ich glaub, es gibt nen Bug zumindest in meiner TYPO3-Installation, was aber auch am speziellen Zusammenbau meiner Seite liegen kann, da das gerade eher eine Testumgebung für eine andere Seite ist.

Ich verstehe grade auch nicht so recht, was du da aufgebaut hast. Was ist imageLink.typolink? Das gibt es bei Standardgerenderten Bildern nicht. Es gibt nur imageLinkWrap, in dem auch bereits die Linkparameter enthalten sein sollten. Warum so schwer - und nicht funktionierend - wenn es auch einfach geht?

Hier die Referenz für das Typo3-Imagehandling. Alles, was da drin steht, kann auch auf die Bilder in TD Calendar angewandt werden...

http://wiki.typo3.org/De:TSref/IMAGE#IMAGE

andy-man ·

Hallo boy_kottke,
leider funktioniert das TS nicht. Im Quelltext auf dem Bild wird folgendes angezeigt.

<div class="tdcalendar-imagewrap><a href=" target="thePicture" onclick="openPic('http://www.abs-ag.org/uploads/pics/fotolia_11415525_02.jpg','3943dd881ba048ff66564b48109061ef','width=512,height=384,status=0,menubar=0'); return false;" fotolia_11415525_02.jpg"="" pics="" uploads="">

Auf die Funktion Typolink bin ich hier darauf gestoßen:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Typolink.html

Danke für den Link - man lernt immer dazu und ich bin ja dabei mein erstes Projekt mit Typo3 umzusetzen.

andy-man

boy_kottke ·

Kannst du mal in der Zeile 1062 von class.tx_tdcalendar_pi1_libary.php ne neue Zeile einfügen und dort

print_r($this->conf['image.']['imageLinkWrap.'])

reinbasteln? Caches löschen und mir dann sagen, was im Frontend unter JSwindow ausgegeben wird. Wenn da weiterhin ne 1 steht, geh ich krachen.

Wenn ja, einfach mal per Hand auf null setzen:

$this->conf['image.']['imageLinkWrap.']['JSwindow'] = 0;

Dann sollte es funktionieren. Aber eben nur dann... Ich suche inzwischen den Bug, denn im Backend steht bei mir eindeutig "JSwindow = 0"