Hallo zusammen.
Seit TYPO3 4.5 kann man doch im Backend auch Felder ausblenden, welche keine Datenbankfelder sind, sondern über eine Flexform definiert wurden.
Dies wurde u.a. im Thread "Flexform Felder im Backend ausblenden" im Mai 2011 behandelt.
Wie sieht es aus, wenn der Feldname im Flexform mit Punkt ist? Mir will es nicht gelingen, settings.categories oder andere für Extbase gedachte Einstellungen innerhalb eines Flexforms auszublenden oder vorzubelegen via PageTS (TCEFORM/TCAdefault)
Funktionierend:
orderBy-Feld aus Flexform von EXT:tt_news ausblenden
TCEFORM.tt_content.pi_flexform.9.sDEF.listOrderBy.disabled = 1
Nicht funktionierend:
categories-Feld aus Flexform von EXT:events2 ausblenden
TCEFORM.tt_content.pi_flexform.events2_events.sDEFAULT.settings.categories.disabled = 1
Hat irgendwer Rat? Sieht den Fehler? Oder weiß die Lösung?
Viele Grüße
Julian
weisst du, was ich glaube? das problem ist, dass hier der Tag für den Field-KEy als 'settings.categories' gewählt wurde.
was vermutlich hinterher intern als <settings><categories> aufgelöst wird, was es natürlich nicht gibt.
Aber das ist eine reine Vermutung!
Bei mir funktioniert das nämlich ansonsten immer bestens, siehe auch:
https://www.riccabona.it/aktuelle-meldungen/detail/artikel/flexform-felder-via-pagetsconfig-beeinflussen/
Die Lösung ist eigentlich ganz simpel: die Punkte müssen escapet werden:
TCEFORM.tt_content.pi_flexform.powermail_pi1.main.settings\.flexform\.main\.confirmation.disabled = 1
Ausführlicher:
Liegt z.B. folgendes (vereinfachtes) Flexform vor:
<T3DataStructure>
<sheets>
<main>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:powermail/Resources/Private/Language/locallang_db.xlf:flexform.main</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<settings.flexform.main.confirmation>
<TCEforms>
<exclude>1</exclude>
<label>LLL:EXT:powermail/Resources/Private/Language/locallang_db.xlf:flexform.main.confirmation</label>
<config>
<type>check</type>
<default>0</default>
</config>
</TCEforms>
</settings.flexform.main.confirmation>
</el>
</ROOT>
</main>
</sheets>
</T3DataStructure>
so heißt dort der relevante Knoten "settings.flexform.main.confirmation". Innerhalb dieses Namens müssen die Punkte escapet werden, damit beim Parsen des TypoScripts der Name erhalten bleibt und nicht die Einzelbestandteile interpretiert werden.