Zum Inhalt springen

Flexform Felder im Backend ausblenden (Extbase settings)

Erstellt am 23. Januar 2015 · 2 Antworten · letzte Antwort am 18. Juli 2018

Tags: Frage

Julian.​Hofmann ·

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

Julian.​Hofmann · · Beste Antwort

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.