[TYPO3-english] Flexform in custom content element

Jigal van Hemert jigal at xs4all.nl
Wed Aug 18 20:17:03 CEST 2010


Hi,

On 18-8-2010 17:11, Fabian wrote:
> I've created my own content element and I'm using flexforms to make use
> of some custom fields. How can I make the TYPO3 backend show some of the
> custom fields?

You can find a simple example in tt_news:

In ext_localconf.php you'll find the line:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['list_type_Info']['9']['tt_news'] 
= 
'EXT:tt_news/lib/class.tx_ttnews_cms_layout.php:tx_ttnews_cms_layout->getExtensionSummary';

This tells TYPO3 to ask that hook function to supply the information.
The function is defined as:

function getExtensionSummary($params, &$pObj) {
     if ($params['row']['list_type'] == 9) {
         $data = t3lib_div::xml2array($params['row']['pi_flexform']);
         if (is_array($data) && 
$data['data']['sDEF']['lDEF']['what_to_display']['vDEF']) {
             $result = 
sprintf($GLOBALS['LANG']->sL('LLL:EXT:tt_news/locallang.xml:cms_layout.mode'),
 
$data['data']['sDEF']['lDEF']['what_to_display']['vDEF']);
         }
         if (!$result) {
             $result = 
$GLOBALS['LANG']->sL('LLL:EXT:tt_news/locallang.xml:cms_layout.not_configured');
         }
     }
     return $result;
}

tt_news is one of the "old" extensions, so it has a numerical list_type 
(in this case '9'). The code in tt_news processes the flexform (just 
like you wanted) and displays for example:
Displaying: SINGLE
using a language string and data from the flexform.

HTH

-- 
Kind regards / met vriendelijke groet,

Jigal van Hemert
skype:jigal.van.hemert
msn: jigal at xs4all.nl
http://twitter.com/jigalvh


More information about the TYPO3-english mailing list