Zum Inhalt springen

Page ID im Backend auslesen

Erstellt am 16. September 2010 · 2 Antworten · letzte Antwort am 20. September 2010

Tags: TCA, Frage

Tacki ·

Hallo zusammen,

ich versuche mein Problem mal zu erklären...
Ich habe eine Frontend Extension entwickelt und die Tabelle tt_content um ein Feld erweitert, in diesem Feld sollen Page IDs gespeichert werden. Wenn ich meine Extension auf einer Seite einfüge, dann habe ich eine Selectorbox. Diese soll mit den Seitentiteln der Unterseiten gefüllt sein. Wie komme ich in der ext_tables.php an die Page ID der Seite, auf der ich grade aktuell das Plugin einfüge?

Ich habe eine unschöne Lösung gefunden, das geht aber bestimmt noch besser. So löse ich das Problem derzeit:

// pid der Seite herausfinden, auf der das Plugin eingerichtet wird
$keys = array_keys($_GET['edit']['tt_content']);
$pid = $keys[0];

// Seitentitel der Unterseiten auslesen
$sql = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
	"uid, title",
	"pages",
	"deleted = 0 AND hidden = 0 AND pid = " . $pid,
	"",
	"sorting" 
);

$teasers = array();
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($sql)) {
	$teasers[] = array($row['title'], $row['uid']);
}

$tempColumns = array (
	'tx_kundlteaser_teaser' => array (		
		'exclude' => 0,		
		'label' => 'LLL:EXT:kundl_teaser/locallang_db.xml:tt_content.tx_kundlteaser_teaser',		
		'config' => array (
			'type' => 'select',
			'items' => $teasers,
				//array('LLL:EXT:kundl_teaser/locallang_db.xml:tt_content.tx_kundlteaser_teaser.I.0', '0'),),
			'size' => 5,	
			'maxitems' => 3,
		)
	),
);
karlchen ·

dein Feld sollte in etwas so definiert werden

'test' => array (		
			'exclude' => 0,		
			'label' => 'LLL:EXT:kundl_teaser/locallang_db.xml:tt_content.tx_kundlteaser_teaser',	
			'config' => array (
				'type' => 'select',	
				'foreign_table' => 'pages',	
				'foreign_table_where' => 'AND pages.pid=###CURRENT_PID### ORDER BY pages.uid',	
				'size' => 1,	
				'minitems' => 0,
				'maxitems' => 1,
			)
		),

nähere Infos zu den möglichen Markern findest du hier :
https://docs.typo3.org/m/typo3/reference-tca/main/en-us/Index.html
(bei foreign_table_where)