2017-08-03 2 views
0

Dans la configuration du modèle que j'ai mis deux colonnes comme ceci:TYPO3 Enveloppez deux colonnes?

column1 < styles.content.get 
column1.select.where = colPos = 1 
column1.stdWrap { 
    wrap = <div>|</div> 
    required = 1 
} 
column2 < styles.content.get 
column2.select.where = colPos = 2 
column2.stdWrap { 
    wrap = <div>|</div> 
    required = 1 
} 

Cette enveloppe la colonne avec un div mais seulement s'il y a quelque chose en elle.

Existe-t-il un moyen de placer une enveloppe autour des deux colonnes si au moins une d'entre elles contient du contenu?

En ce moment, je réalise cela en utilisant CSS :empty {display:none;} sur le wrap dans le modèle partiel, mais je préfère le faire dans Typoscript, car :empty n'est pas supporté partout.

Répondre

1

La solution propre serait:
Soit vous définissez un COA typoscript:

column_1_and_2 = COA 
column_1_and_2.10 < .column1 
column_1_and_2.20 < .column2 
column_1_and_2.wrap = <div>|</div> 

ou vous utilisez un peu de logique dans votre fluide:

<f:if condition="{column1}{column2}"> 
    <div> 
     {column1->f:format.raw()} 
     {column2->f:format.raw()} 
    </div> 
</f:if> 

NE PAS essayer pour construire la logique avec des wraps fractionnés.

+0

Un grand merci. 'COA' avec' stdWrap.required = 1' fonctionne pour moi. Je ne sais pas pourquoi je n'ai pas pensé à ça! – user500665