Zum Inhalt springen

TYPO3 10 Element Verknüpfung einfügen eigene Extension

Erstellt am 21. September 2020 · Noch keine Antworten

Tags: TCA, Inhaltselemente, Frage

klaubi ·

Hallo zusammen

Ich möchte von einer eigenen Extension einzelne Einträge über das Inhaltselement "Datensatz einfügen [shortcut]" auswählen können.

Die Listen- und Detailansicht funktionieren bereits.

Ich habe in /Configuration/TCA/Overrides/tt_content.php die addToInsertRecords Angabe eingetragen:

<?php
defined('TYPO3_MODE') or die();
call_user_func(function () {       \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToInsertRecords('tx_eislist_domain_model_eis');
});

Mit dieser Angabe erscheint die Auswahl bereits im Backend, jedoch erscheint im Frontend keine Ausgabe.

Dazu habe ich im TYPOScript /Configuration/TypoScript/setup.txt folgendes eingetragen:

tt_content.shortcut.20.tables := addToList(tx_eislist_domain_model_eis)
tt_content.shortcut.20.conf.tx_eislist_domain_model_eis = USER
tt_content.shortcut.20.conf.tx_eislist_domain_model_eis {
	userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
	extensionName = EisList
	pluginName = Eis
	vendorName = Emma
	controller = Eisbar
	action = show
	switchableControllerActions {
		Eisbar {
			1 = show
		}
	}

	settings =< plugin.tx_eislist_eis.settings
	settings {
        insertRecord = 1
        useStdWrap = singleRecords
        displayMode = single
        singleRecords.field = uid
	}
}
tt_content.shortcut.variables.shortcuts.tables := addToList(tx_eislist_domain_model_eis)
tt_content.shortcut.variables.shortcuts.conf.tx_eislist_domain_model_eis < tt_content.shortcut.20.conf.tx_eislist_domain_model_eis

Im Controller "Eisbar" in der Methode "show" kann ich einen einzelnen Eintrag ausgeben. Jedoch überträgt es die uid nicht richtig. Wenn ich in PHP die UID abfragen möchte mit

$this->settings['singleRecords']

erhalte ich als Wert "field -> uid" in Textform anstelle der ID als Nummer.

Wie kann ich auf den ausgewählten Datensatz zugreifen?