[TYPO3-german] tt_content per FlexForm erweitern möglich?

Bernd Wilke t3ng at pi-phi.tk
Thu Oct 20 12:58:05 CEST 2011


On Mon, 17 Oct 2011 16:08:16 +0200, Julian Pleger wrote:

> Hey Bernd,
> 
> danke für deine Antwort!
> Wie ich eine Flexform anlege weiß ich. Ich habe dafür auch eine
> Extension erstellt (per Extension Builder [Extbase]). Aber ich möchte
> nicht meine eigene Extension um eine Flexform erweitern, sondern
> tt_content. Das ich das Flexform aber über meine Extension registrieren
> muss weiß ich wohl.
> 
> Wie gesagt: das Problem ist, dass ich über meine Extension "MyExt" die
> "tt_content"-Extension erweitern möchte. Derzeit mache ich es wie folgt:
> 
> // additional TCA-data
> $tempColumns = Array (
> 	'tx_myext_question' => Array (
> 		'exclude' => 0,
> 		'label'   =>
> 		'LLL:EXT:myext/Resources/Private/Language/
locallang_db.xml:tx_myext_domain_model_question',
> 		'config'  => array(
> 			'type' => 'inline',
> 			'foreign_table' => $foreign_table,
> 			'foreign_field' => 'foreignid',
> 			'foreign_label' => 'question',
> 			'foreign_table_field' => 'tablename', 'minitems' 
=> 0,
> 			'maxitems' => 10
> 		)
> 	),
> );
> 
> t3lib_div::loadTCA('tt_content');
> t3lib_extMgm::addTCAcolumns('tt_content',$tempColumns,1);
> 
> // Hier kann auch der Name des Tabs angegeben werden
> t3lib_extMgm::addToAllTCAtypes('tt_content','--div--;LLL:EXT:myext/
Resources/Private/Language/
locallang_db.xml:tx_myext_domain_model_question,tx_myext_question');
> 
hier mal ein paar snippets aus der tca.php, die ich in einer extension 
gefunden habe, die dynamische datensätze benutzt:

zum einen der schalter:

$TCA['tx_xxxxxdata_products'] = array (
	:
	'columns' => array (

		'producttype' => array (		
			'exclude' => 0,		
			'label' => 'LLL:EXT:xxxxx_data/
locallang_db.xml:tx_xxxxxdata_products.producttype',	
				'onchange' => 'reload',	
			'config' => array (
				'type' => 'select',	
				'items' => array (
					array('',0),
				),
				'foreign_table' => 
'tx_xxxxxdata_producttypes',	
				'foreign_table_where' => 'AND 
tx_xxxxxdata_producttypes.pid=###CURRENT_PID### ORDER BY 
tx_xxxxxdata_producttypes.uid',	
				'size' => 1,	
				'minitems' => 0,
				'maxitems' => 1,
			)
		),

		:
		:

		'productattributes' => array (		
			'exclude' => 0,		
			'label' => 'LLL:EXT:xxxxx_data/
locallang_db.xml:tx_xxxxxdata_products.productattributes',		
			'config' => array (
				'type' => 'flex',
				//'ds' => array (
				//	'default' => 'FILE:EXT:xxxxx_data/
flexform_tx_xxxxxdata_products_productattributes.xml',
				//),
				'ds_pointerField' => 'producttype',
        		'ds_tableField' => 
'tx_xxxxxdata_producttypes:datastructure',
			)
		),
		:
	)
);

ich schätze mal dass du das in ähnlicher Form in tt_content einbauen und 
dann das rendering anpassen musst.
vielleicht hilft dir das in die richtige Richtung. Es wäre schön wenn du 
eine Lösung hier postest, damit es andere in Zukunft finden können.

bernd
-- 
http://www.pi-phi.de/t3v4/cheatsheet.html


More information about the TYPO3-german mailing list