[TYPO3-english] need help on customizing TCA

François Suter fsu-lists at cobweb.ch
Fri Nov 5 20:32:15 CET 2010


Hi,

> The TCA looks like (myx is the name of my extension):
>
> $TCA['myx'] = array(
>   'ctrl' =>  $TCA['myx']['ctrl'],
>   'interface' =>  array( ... ) ...
> most entries are at level of ctrl or interface, so I placed it wrong.
> What does the second line mean? Isn't it a circular reference?

The TCA for a given table is generally split into two files:

- the "ctrl" section goes into ext_tables.php
- the rest of the TCA goes to tca.php

The point is that - most of the time - TYPO3 needs to know only about 
the "ctrl" section of each table. Occasionally it needs more details, in 
which case the full TCA is loaded. This is done by calling:

t3lib_div::loadTCA('myx');

This checks the "dynamicConfigFile" property of the "ctrl" section and 
loads the corresponding file. To make sure that the "ctrl" section is 
not lost, the tca.php file contains:

$TCA['myx'] = array(
	'ctrl' =>  $TCA['myx']['ctrl'],

I hope this explains a bit more.

> So would it be right to code something like:
>
> $TCA['myx']['ctrl']['divider2tabs'] = 2;

Yes.

> The TCA seems quite a bit complex.

It is. It's also quite powerful so hang on and you'll get it ;-)

You may want to look at existing extensions to compare the code. In 
particular, there's one called "examples" which contains the code 
samples corresponding to the "Core API" manual. Although it is far from 
complete, it is meant to provide useful examples and code snippets to 
extension developers.

HTH

-- 

Francois Suter
Cobweb Development Sarl - http://www.cobweb.ch


More information about the TYPO3-english mailing list