0

hmm ... mes compétences en TypoScript semblent être devenues un peu rouillées.TypoScript: enveloppe conditionnelle si plus d'un élément

lib.feld < styles.content.get 
lib.feld.select.orderBy = rand() 
lib.feld.select.select.where = colPos=11 
lib.feld.wrap = <div class="wrapper">|</div> 

Je voudrais ajouter l'emballage div que si styles.content.get renvoie plus d'un élément pour ladite colPos.

J'ai essayé deux variantes suivantes:

lib.feld.wrap.if { 
    isGreaterThan.numRows < styles.content.get 
    isGreaterThan.numRows.select.where = colPos=11 
    value = 1 
} 

et

lib.feld.wrap.if { 
    isGreaterThan.numRows.table = tt_content 
    isGreaterThan.numRows.select < styles.content.get.select 
    isGreaterThan.numRows.select.where = colPos=11 
    value = 1 
} 

aussi avec un stdWrap supplémentaire avant numRows. Tout retourne faux, même quand il devrait y avoir plusieurs résultats.

Qu'est-ce qui ne va pas?

Répondre

1

de la définition typoscript je suppose:

temp.feld < styles.content.get 
temp.feld.select.where = colPos=11 
temp.feld.select.orderBy = rand() 
temp.feld.select.pidInList = 123 

lib.feld < temp.feld 
lib.feld.wrap = <div>|</div> 
lib.feld.wrap.if { 
    isGreaterThan.stdWrap.numRows < temp.feld 
    value = 1 
} 

pour l'inspection/debuggung la valeur de numRows vous pouvez utiliser ceci:

lib.numRows = TEXT 
lib.numRows.numRows < temp.feld 
lib.numRows.wrap = numRows=[|] 

que vous pouvez utiliser dans le liquide

{f:cObject(typoscriptObjectPath:'lib.numRows')} 

ou dans typoscript lui-même pour la sortie

page.3 < lib.numRows 
+0

Cela produit une erreur, mais je pourrais ajouter 'isGreaterThan.stdWrap.numRows.table = tt_content' et l'erreur est partie. Pourtant, je ne l'ai pas encore au travail. J'ai également oublié une ligne dans la question. L'éditera maintenant – Urs

+0

vous avez raison: j'ai oublié la table. J'ai changé mon exemple pour copier l'objet CONTENT complet bien que seule la table et sélectionnez sont nécessaires –

+0

si vous n'êtes pas sûr d'une valeur typoscript rendu essayer de l'imprimer. Je vais ajouter une section à ma réponse. –