Zum Inhalt springen

Fluid Condition: Object empty?

Erstellt am 31. Dezember 2013 · 4 Antworten · letzte Antwort am 3. Januar 2014

Tags: Frage

Gerfried ·

Sorry, es geht nicht um Extension Entwicklung, aber es gibt im Forum sonst keinen Bereich für Fluid Templates. Ihr könnt mir sicher helfen:

Ich möchte im Template prüfen, ob eine Spalte (COA) leer ist:

Mein Objekt:
<f:cObject typoscriptObjectPath="lib.content.101"></f:cObject>

Meine Condition:
<f:if condition="<f:count><f:cObject typoscriptObjectPath="lib.content.101"></f:cObject></f:count>">
...

Das funktioniert aus 2 Gründen nicht:
- erstens, weil ich einen Parser Fehler erhalten:
#1224485838: You closed a templating tag which you never opened!

- zweitens weil <f:count><f:cObject typoscriptObjectPath="lib.content.101"></f:cObject></f:count>
IMMER "1" zurückliefert.

Vielen Dank für Eure Hilfe,
Gerfried

Schweriner ·

Was passiert denn wenn Du es ohne den Count Viewhelper probierst? Und müsstest Du dort nicht sowieso die Nesting-Schreibweise für cObject verwenden?

<f:if condition="{f:cObject(typoscriptObjectPath: 'lib.content.101')}">

aemka ·

Da du dieses if vermutlich aus Layout gründen brauchst, würde ich dir raten das lieber komplett über css zu lösen, z.b. über einen container der durch seinen inhalt aufgezogen wird, dann brauchst du das markup nicht über bedingungen verändern.
Abgesehen davon solltest du auf jeden fall die nesting schreibweise verwenden. Und f:count ist für das zählen von elementen eines arrays gedacht, nicht für abfrage ob ein string leer ist. Aus cObject kommen nur strings raus.

etux ·
<f:if condition="{lib.content.101}">
  {f:cObject(typoscriptObjectPath:'lib.content.101')}
</f:if>
Gerfried ·

Danke für Eure Antworten!

<f:if condition="{lib.content.100}">
	<h1>ja, da steht was (1)</h1>
</f:if>

... obige Condition greift leider nicht. Der Text erscheint nicht, auch wenn das Element lib.content.100 befüllt ist.

<f:if condition="{f:cObject(typoscriptObjectPath: 'lib.content.100')}">
	<h1>ja, da steht was (2)</h1>
</f:if>

... ja, das war's so funktioniert's. Vielen Dank - ich hab echt stundenlang rumprobiert.

Vielen Dank Euch allen und ein erfolgreiches 2014.

Gerfried