Zum Inhalt springen

tx_news - Je nach Kategorie / Topnews, ein anderes Partial wählen

Erstellt am 26. März 2014 · 2 Antworten · letzte Antwort am 26. März 2014

Tags: Fluid, tx_news, TYPO3 6.x, Frage

theowi ·

Hallo,
ich komme gleich mal auf den Punkt.

In einer Typo3 Webseite soll tx_news als Extension genutzt werden mit max. zwei Kategorien.
Diese werden "News" und "Press" benannt.

Ebenfalls gibt es bekanntlich die Möglichkeit, tx_news Inhalte als TOPNEWS zu markieren.
Topnews sollen am Kopf der Webseite dargestellt werden - hier auch max. eine und zwar die aktuellste zuerst. Darunter folgen PRESS (max 6 Items) und danach NEWS (max 6 Items).

Meine Idee bisher für die Problemlösung der Top- und Press/News Items.
Mit ...

<f:for each="{news}" as="newsItem">
  <f:if condition="newsItem.istopnews">
    <f:then>
      <!-- TOPNEWS -->
       <f:render partial="List/ItemTopNews" arguments="{newsItem: newsItem, settings:settings}" />
      <!-- //TOPNEWS -->
    </f:then>
    <f:else>
      <!--NORMALNEWS-->
        <!--Rendern je nach CAT -->
        <f:render partial="List/ItemNormalNews" arguments="{newsItem: newsItem, settings:settings}" />
      <!--//NORMALNEWS-->
    </f:else>
  </f:if>
</f:for>

Dies funktioniert NICHT - obwohl der logische Aufbau meines Wissens korrekt ist - ich muss aber zugeben, ich bin ein absoluter Neuling was Fluid angeht.

Bei der im obigen Beispiel aufgeführten Ausgabe der normalen News, würde ich gerne nach den Kategorien dann die sortierung vornehmen. Sprich, unterschiedliche Partials je nach Kategorie rendern.

Ich hoffe das mir hier jemand behilflich sein kann.

Vielen Dank im vorraus 🙂

theowi ·

Natürlich fällt einem im Nachhinein auf, welchen Fehler man begangen hat.
Warum funktionierte die "if" Abfrage nicht?

Die Lösung: Die Abfrage hätte wie folgt gestellt werden müssen:

<f:if condition="{newsItem.istopnews}">

Damit wäre dies erledigt und es bleibt nur noch eine kleine Frage:
Wie bzw. welche Möglichkeiten gibt es, anhand von Kategorien ein anderes Partial auszugeben?

Julian.​Hofmann ·

Ohne bislang damit gearbeitet zu haben, klingt der switch-ViewHelper da nützlich (ab TYPO3 CMS 6.2):

<f:switch expression="{person.gender}">
  <f:case value="male">Mr.</f:case>
  <f:case value="female">Mrs.</f:case>
  <f:case default="TRUE">Mrs. or Mr.</f:case>
</f:switch>