TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

if-Abfrage, ob Zuweisung in n:m-Relation besteht


Autor Nachricht
Verfasst am: 22. 06. 2012 [10:41]
janthelen
Themenersteller
Dabei seit: 05.01.2011
Beiträge: 24
Hallo,

Ich sitze gerade an meiner ersten Extbase/Fluid-Extenion und frage mich, wie ich folgendes lösen kann:

in einer Liste soll angezeigt werden, ob foo eine Relation zu bar hat, in etwa so:
HTML
<f:for each="{bars}" as="bar">
  <f:if condition="{foo.hasBar(bar)} ">
    <f:then>
      hasBar
    </f:then>	
    <f:else>
      has not bar
    </f:else>
  </f:if>
</f:for>

z.Z. löse ich das ganze mich geschachtelten for-Schleifen und if foo.bar == bar, hab da aber den Nachteil, dass ich keinen Weg sehe, die else Bedingung zu setzen - gesetzte thens werden durch folgende elses überschrieben.

Eine andere Möglichkeit wäre, mittels break aus der Schleife zu springen, sobald ich in den then-Teil komme. Da habe ich aber nichts zu gefunden, gibt es das?

Hoffe das ist verständlich
LG
Jan

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 22.06.2012 um 13:59.]
Profil
Verfasst am: 29. 06. 2012 [15:44]
jank
Dabei seit: 01.04.2009
Beiträge: 147
Bei einer m:n Beziehung kannst du eigentlich auf das erste Object der Beziehung mit ".0" abfrage:
HTML
<f:for each="{bars}" as="bar">
  <f:if condition="{bar.foos.0} ">
    <f:then>
      Mindestens 1 foo mit {bar.title} verknüpft
    </f:then>	
    <f:else>
      KEIN foo mit {bar.title} verknüpft
    </f:else>
  </f:if>
</f:for>


Auszug Fluid Cheat Sheet 1:
{name.number} Numeric array: Element in array [name] at position [number]


gruß jank
ProfilWWW