TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

tt_content TCA nur innerhalb von eigener Extension ändern


Autor Nachricht
Verfasst am: 30. 06. 2009 [18:35]
karlchen
Themenersteller
Dabei seit: 19.10.2006
Beiträge: 748
Hallo,

ich habe eine Extension, die soll der Einfachhheithalber nur über einen kleinen Teil der normalen tt_content "Text und Bild" Möglichkeiten verfügen.

da wären header, bodytext, image und imagecaption und ein zusätzliches Feld.

Um das zu realsieren, habe ich tt_content erweitert und mir die felder in ext_tables.php
"hinzugefügt".


PHP
t3lib_div::loadTCA('tt_content');
$TCA['tt_content']['types'][$_EXTKEY . '_pi1']['showitem'] = 'CType;;4;button;1-1-1, header;;3;;2-2-2,bodytext;;9;richtext:rte_transform[flag=rte_enabled|mode=ts_css];3-3-3, rte_enabled, image, tx_teaser_morelink';


Funktioniert soweit auch alles wie es soll.

Jetzt würde ich allerdings gerne die config Einstellungen des image Feldes ändern, jedoch nur für die innerhalb dieser Extension.

bisher kenne ich nur diese Möglichkeit.

PHP
$TCA['tt_content']['columns']['image']['config']['size'] = '1';


Doch das ändert die Einstellung für das normale "Text Mit Bild" bzw. "Bild" ebenfalls.

Gibt es hier eine Möglichkeit unterschiedliche TCA Konfigurationen abhängig vom CType zu laden ?

Oder wie geht man hier am besten vor ?
Profil
Verfasst am: 02. 07. 2009 [21:35]
karlchen
Themenersteller
Dabei seit: 19.10.2006
Beiträge: 748
man lernt nie aus,

zufällig hatte Franz Koch in der t.dev Mailingliste genau so ein Problem und hat es per Hook gelöst.

Da ich nicht weiß wie man einen MailinglistenEintrag verweisen kann...


Hi Ingo,
>> Example:
>> I created a new CType that should render a 360° panorama scroller which
>> uses a image defined in "tt_content.image". Everything is fine that far,
>> but I like to change that field for this CType to maxItems=1 and size=1.
>>
>> Any chance to do that?
>
> well as the TCA is pure PHP, you just have to find the right spot where to place an if() and then manipulate the array...

I now wrote a little extension that hooks in TCEForms (preprocess...Hook). There I fetch pageTS and merge it into the TCA. So it's working quite fine now to manipulate TCA field definitions based on the "type".

--
kind regards,
Franz Koch

---------------------------------------------------
PayPal-Account: 'paypal _at_ elements-net _dot_ de'
---------------------------------------------------


habe mir daraufhin dann auch eine kleine einfache extension geschrieben, die mein Problem hier löst.

Profil
Verfasst am: 13. 08. 2009 [10:23]
just2b
TYPO3-Gott
Moderator
Dabei seit: 04.08.2004
Beiträge: 19047
und wo ist die extension?

=> TYPO3 - inspiring people to share <= aber kein Support per PM!

=> in eigener Sache: · inspiring people to share your location Trag dich in die TYPO3 Weltkarte ein und zeige wie groß die TYPO3 Community ist - vielen Dank!<=
ProfilWWW