[TYPO3-dev] The "Object TypoScript library" in the TYPO3 core?
Steffen Kamper
info at sk-typo3.de
Mon Jul 13 16:03:08 CEST 2009
Hi,
Martin Kutschker schrieb:
> Xavier Perseguers schrieb:
>> The existing hook may certainly be used instead of having something
>> special for this very extension.
>
> The hook is not very useful IMHO. Either you use standard objects or you
> use the ones the hook provides. You cannot add just a single object.
>
> Masi
it's very easy to add an own object. I did it with the new MEDIA ce
because i need it in 4.2 installation.
This is the way to go:
(single object MYOWNCE)
1)
define tt_content.myownce like usual
tt_content.myownce= COA
tt_content.myownce {
10 = < lib.stdheader
20 = MYOWNCE
20 { ... }
}
2) define TCA CType (ext_tables.php)
$TCA['tt_content']['columns']['CType']['config']['myownce'] = array(
'label' => 'LLL:EXT:....',
'config' => array(...)
);
3) use flexform?
$TCA['tt_content']['columns']['pi_flexform']['config']['ds'][',myownce']
= "<flexform content>";
4) define showitem
$TCA['tt_content']['types']['myownce'] = array(
'showitem' => ''CType;;4;;1-1-1, hidden, header;;3;;2-2-2,
linkToTop;;;;3-3-3,...';
);
4) Define it for NewElementWizard (ext_localconf)
t3lib_extMgm::addPageTSConfig('
mod.wizards.newContentElement.wizardItems {
myownce {
icon = ...
}
special.show := addToList(myownce)
}
5) register Hook
$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClassDefault']['media']
= 'EXT:yourext:file.php:classname';
6) write your own class
require_once(PATH_tslib .
'interfaces/interface.tslib_content_cobjgetsinglehook.php');
class tx_cObjMyOwnCE implements tslib_content_cObjGetSingleHook {
protected $cObj;
public function getSingleContentObject($contentObjectName, array
$configuration, $TypoScriptKey, tslib_cObj &$parentObject) {
$this->cObj =& $parentObject;
switch($contentObjectName) {
case 'MYOWNCE':
return $this->MYOWNCE($configuration);
break;
}
}
}
you can write in Typoscript whatever you want, you'll find it in the
conf array.
I wrote this because i didn't found a tutorial doing this kind of stuff,
imho it's sufficient to do your own ContentElement and use it as the others.
vg Steffen
More information about the TYPO3-dev
mailing list