Introducción
Durante muchos años, ha sido posible mostrar campos seleccionados sólo para un contexto específico.
Por ejemplo, el desarrollador de la extensión podría especificar que el campo X sólo debe mostrarse si el campo Y contiene un valor previamente especificado. El propio TYPO3 también hace uso de esta opción en el ámbito de los elementos de contenido. Si se selecciona "Texto" como tipo de contenido, se muestran campos completamente diferentes para la edición que, por ejemplo, para el tipo "Imágenes" o "Formulario".
El desarrollador de la extensión puede controlar esta activación/desactivación de campos mediante la propiedad "displayCond" dentro del TCA. Sin embargo, existe una restricción: sólo se puede especificar UNA condición por campo. Aunque es posible consultar si un campo tiene el valor x, y o z, no hay forma de consultar si la extensión x está instalada Y que otro campo tiene un determinado valor predefinido.
He aquí un extracto de lo que es posible hasta ahora:
A partir de TYPO3 6.1
Los desarrolladores del núcleo han ordenado enormemente el área de displayCond y han añadido la opción de especificar múltiples condiciones. El código fuente ahora consulta si el valor de displayCond es una cadena, en cuyo caso sólo es posible una condición, como en el ejemplo anterior, o una matriz, en cuyo caso está disponible toda la carga de condiciones múltiples y anidadas. He aquí algunos ejemplos:
displayCond en FlexForms
<campo1>
<TCEforms>
<label>Campo 1</label>
<config>
<type>entrada</type>
<tamaño>30</tamaño>
</config>
</TCEforms>
</field1>
<field2>
<TCEforms>
<label>Campo 2</label>
<config>
<type>entrada</type>
<tamaño>30</tamaño>
</config>
</TCEforms>
</field2>
<cond>
<TCEforms>
<label>Condición de prueba</label>
<displayCond>
<AND>
<numIndex index="0">FIELD:field1:REQ:TRUE</numIndex>
<numIndex index="1">FIELD:field2:REQ:TRUE</numIndex>
<OR>
<numIndex index="0"><![CDATA[FIELD:field1:<:12]]></numIndex>
<numIndex index="1">FIELD:field2:>:20</numIndex>
</OR>
</AND>
</displayCond>
<config>
<type>input</type>
<tamaño>30</tamaño>
</config>
</TCEforms>
</cond>