Konfiguration AOE Linkhandler

Der AOE Linkhandler (Extension key: linkhandler) läßt sich für alle möglichen Datensätze konfigurieren. Die Dokumentation ist ausführlich, hier jedoch noch eine Konfiguration für zwei Datensatztypen mit unterschiedlichen Detailseiten abhängig vom Feld „type“.
Ich habe in den Beispielen den tatsächlichen Namen der Extension maskiert, anstatt tx_ext_[…] ist der Name der Tabelle mit den Datensätzen einzusetzen.

Dieser Schnipsel fügt dem Link-Wazard zwei neue Tabs hinzu und entfernt den Tab, den Linkhandler per default mitbringt:

RTE.default.tx_linkhandler {
	> tt_news
	tx_ext_documents {
		label = Dokumente
		listTables = tx_ext_documents
	}
	tx_ext_events {
		label = Veranstaltungen
		listTables = tx_ext_events
	}
} 
 
mod.tx_linkhandler {
	> tt_news
	tx_ext_documents {
		label = Dokumente
		listTables = tx_ext_documents
	}
	tx_ext_events {
		label = Veranstaltungen
		listTables = tx_ext_events
	}
}

Und damit lassen sich Links auf beide Record-Typen auswerten und bei einem Typ abhängig vom Feld „type“ setzen. Dabei gibt es für Type 1 und 2 eine Detailseite und beim Type3 wird einfach auf die Storage-Seite verlinkt.

plugin.tx_linkhandler {
	tx_ext_documents {
		title = TEXT
		title.data = field:title
		forceLink = 1
		parameter.stdWrap.cObject = CASE
		parameter.stdWrap.cObject {
			key.field = type
			1 = TEXT
			1.value = {$type2detailsPid}
 
			2 = TEXT
			2.value = {field:pid}
			2.insertData = 1
 
			3 = TEXT
			3.value = {$type6detailsPid}
 
			default = TEXT
			default.value = {$detailsPid}
		}
		additionalParams = &ext[document]={field:uid}
		additionalParams.insertData = 1
		useCacheHash = 1
	}
	tx_ext_events {
		forceLink = 1
		parameter = {$eventDetailsPid}
		additionalParams = &ext[event]={field:uid}
		additionalParams.insertData = 1
		useCacheHash = 1
	}
}

Vielen Dank an steffenk

Kommentare sind geschlossen.