Zum Inhalt springen

tt_news & linkhandler bei mehreren Detailseiten

Erstellt am 28. Februar 2009 · 13 Antworten · letzte Antwort am 23. November 2012

Tags: Links, tt_news, Frage

Juggalo40 ·

Irgendwie komme ich nicht weiter ... trotz google, forum und probieren.
Ich hab 2 Sysfolder, 2 Listseiten und 2 Singleseiten.

Der Linkhandler braucht die Singelseiten - ID als Parameter.

Hat jemand eine Idee dazu und kann mir weiterhelfen?

Ein Ansatz war ja die Unterschiedlichen PIDs der StorageFolder zu verwenden, und eine Art Weiche zu machen. Also StorageFolder 1 -> SingleSeite 10 usw.

Aber anscheinend funtionieren ja Conditions nicht inerhalb der geschweiten Klammern ... oder meine TS Fähigkeiten reichen nicht aus ...

Danke schonmal im Voraus.

Juggalo40 ·

Falls es wen interessiert, hab über einen Umweg eine Lösung gefunden:

Ich hab ja für News, Pressemitteilungen etc. jeweils einen eigenen StorageFolder.

Hab jeweils eine Seite mit den jeweiligen List-Ansichten.
Single-Ansichten hab ich für alle nur eine!

plugin.tx_linkhandler {
tt_news {
parameter=35
additionalParams=&tx_ttnews[tt_news]={field:uid}&switch={field:pid}
additionalParams.insertData=1    
useCacheHash=1
}
}

Dem linkhandler geb ich nun die ID der Single-Ansicht ganz normal als Parameter.
In den additionalParams geb ich dem Link nun noch eine Variable mit, der ich die ID des StorageFolders (switch={field:pid}) zuweise.

Im TS der Single-Ansicht lese ich die Variable aus und kann dann über ein IF oder CASE - Construct verschiedene Templates oder Einstellungen zuweisen.

Vielleicht hilfts ja mal jemand.

steffenk ·

für alle die nach einer Lösung suchen, ich habe das abhängig vom sysfolder gemacht. In meinem Fall brauchte ich eine andere Single-PID für News aus Sysfolder 258

plugin.tx_linkhandler {
	tt_news {
		title=TEXT
		title.data = field:title
		parameter.stdWrap.cObject = CASE
		parameter.stdWrap.cObject {
			key.field = pid
			258 = TEXT
			258.value = 254
			default = TEXT
			default.value = 113
		}
    		additionalParams=&tx_ttnews[tt_news]={field:uid}&tx_ttnews[backPid]={TSFE:id}
   	  	additionalParams.insertData=1 	
   	  	useCacheHash=1
	}
}
steffenk ·

ich nutze schon länger den linkhandler von aoe. Seit 4.1 ist ja linkhandler im core, so das man eigene registrieren kann. Das funktioniert nicht nur im RTE sondern auch in normalen Linkfeldern.

Soweit ich weiss ist Deine ext auf RTE beschränkt, richtig?

Stoneage ·

Ich habe den linkhandler mittlerweile auch implementiert mit noch ein paar Zusatzfunktionen (window-pop, styles, etc.). Die Unterstützung von tinyRTE habe ich aber wieder rausgeschmissen. Zusätzlich gibt es ein paar Extra-Funktionen wie userFunc (damit man nur bestimmte tt-news Kategorien raussuchen kann). Und das öffnen eines Default-Tabs. Beide Extension müssen daher von der Datenbasis kompatibel sein. Ich könnte zumindest Texte von linkhandler von aoe mit meinem Tool öffnen.

Morgenthau ·
steffenk schrieb

für alle die nach einer Lösung suchen, ich habe das abhängig vom sysfolder gemacht. In meinem Fall brauchte ich eine andere Single-PID für News aus Sysfolder 258
[...]

Hammer, exakt was ich suche, vielen Dank!
Bin vorher weder mit dem Linkhandler noch mit ch_rterecords weitergekommen.

Viele Grüße,
Morgenthau

gnorzer ·
steffenk schrieb

für alle die nach einer Lösung suchen, ich habe das abhängig vom sysfolder gemacht. In meinem Fall brauchte ich eine andere Single-PID für News aus Sysfolder 258

plugin.tx_linkhandler {
	tt_news {
		title=TEXT
		title.data = field:title
		parameter.stdWrap.cObject = CASE
		parameter.stdWrap.cObject {
			key.field = pid
			258 = TEXT
			258.value = 254
			default = TEXT
			default.value = 113
		}
    		additionalParams=&tx_ttnews[tt_news]={field:uid}&tx_ttnews[backPid]={TSFE:id}
   	  	additionalParams.insertData=1 	
   	  	useCacheHash=1
	}
}

Herzlichen Dank steffenk, genau das war es, was ich gebraucht habe und hat auf Anhieb funktioniert.

gruss gnorzer

M-Cha ·

Ich habe den AOE Link Handler installiert und jedesmal wenn ich einen LINK im RTE einstelle wird der im RTE angezeigt aber im Frontend nicht.

Woran könnte das liegen?

Unbekannter Benutzer ·

Hallo zusammen,

ich habe ca. 10 Detailseiten und 5 Sysordner wo die News drinnen sind, also kann ich nicht jedem Sysordner eine Detailseite zuordnen :-(

Kann ich das nicht irgendwie lösen?

Gibt es die Möglichkeit das Linkhandler auf die News - Kategorie zugreift uns sich dort die eingestellte Single Seite rausholt?

Bitte um Hilfe.

Danke.

Michael_S ·

Hier noch eine kleine Änderung an der Lösung von steffenk, damit es auch mit RealURL gut aussieht:

plugin.tx_linkhandler {
	tt_news {
		title=TEXT
		title.data = field:title
		parameter.stdWrap.cObject = CASE
		parameter.stdWrap.cObject {
			key.field = pid
			258 = TEXT
			258.value = 254
			default = TEXT
			default.value = 113
		}
		additionalParams.cObject = COA
		additionalParams.cObject {
			10 = TEXT
			10 {
				field = uid
				wrap = &tx_ttnews[tt_news]=|
			}
			20 = TEXT
			20 {
				field = datetime
				strftime = %Y
				wrap = &tx_ttnews[year]=|
			}
			30 = TEXT
			30 {
				field = datetime
				strftime = %m
				wrap = &tx_ttnews[month]=|
			}
			40 = TEXT
			40 {
				field = datetime
				strftime = %d
				wrap = &tx_ttnews[day]=|
			}
		}	
	 	useCacheHash = 1
	}
}
it_hk ·
Michael_S schrieb

Hier noch eine kleine Änderung an der Lösung von steffenk, damit es auch mit RealURL gut aussieht:

plugin.tx_linkhandler.tt_news.forceLink = 1

nicht vergessen, sonst funktioniert die Vorschau-Funktion (save&view) im Backend bei unsichtbaren Newsbeiträgen (verborgen etc.) nicht!

VG
Boris