[Frage] tx_news: Erstes Bild einer News in Detail-Ansicht verbergen [Gelöst] TYPO3-Version: 6.1.1

  • Itsab Itsab
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    24. 10. 2013, 10:08

    Hallo zusammen!

    Ein weiteres Feature, welches ich bei der Extension tx_news im Vergleich zu tt_news vermisse, ist das verbergen des ersten Bildes in der Detail-Ansicht. Das fand ich ziemlich sinnvoll, wenn man bspw. in der Liste ein Bild im Hochformat und in der Detail-Ansicht das gleiche Bild im Querformat hat, oder beide gänzlich unterschiedlich sein sollen.

    Leider bin ich bisher noch nicht darauf gestoßen, wie man das in tx_news machen könnte.

    Viele Grüße
    Itsab

  • Itsab Itsab
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    01. 11. 2013, 09:59 - Lösung

    Hallo zusammen!

    Hier nun eine mögliche Lösung für das Problem:

    Im News-Template für die Detail-Ansicht wird ein Partial gerendert:

    Pfad: /Templates/News/Detail.html

    1. <f:render partial="Detail/MediaContainer" arguments="{media: newsItem.media, settings:settings}" />

    In dem besagten Partial wende ich nun eine For-Schleife, die ermittelt, welches Media-Element das letzte ist. Ist das der Fall, wird dieses in die If-Schleife für den Media-Typ übergeben und ausgegeben.

    Pfad: /Partials/Detail/MediaImage.html

    1. <f:if condition="{media}">
    2. <!-- media files -->
    3. <div class="news-img-wrap">
    4. <f:for each="{media}" as="mediaElement" iteration="mediaElementIterator" reverse="0">
    5. <f:if condition="{mediaElementIterator.isLast}">
    6. <f:then>
    7. <f:if condition="{mediaElement.type} == 0">
    8. <f:render partial="Detail/MediaImage" arguments="{mediaElement: mediaElement, settings:settings}" />
    9. </f:if>
    10. <f:if condition="{mediaElement.type} == 1">
    11. <f:render partial="Detail/MediaVideo" arguments="{mediaElement: mediaElement, settings:settings}" />
    12. </f:if>
    13. <f:if condition="{mediaElement.type} == 3">
    14. <f:render partial="Detail/MediaDam" arguments="{mediaElement: mediaElement, settings:settings}" />
    15. </f:if>
    16. </f:then>
    17. </f:if>
    18. </f:for>
    19. </div>
    20. </f:if>

    Hoffe, das hilft euch weiter.

    Viele Grüße


  • 1
  • Itsab Itsab
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    01. 11. 2013, 09:59

    Hallo zusammen!

    Hier nun eine mögliche Lösung für das Problem:

    Im News-Template für die Detail-Ansicht wird ein Partial gerendert:

    Pfad: /Templates/News/Detail.html

    1. <f:render partial="Detail/MediaContainer" arguments="{media: newsItem.media, settings:settings}" />

    In dem besagten Partial wende ich nun eine For-Schleife, die ermittelt, welches Media-Element das letzte ist. Ist das der Fall, wird dieses in die If-Schleife für den Media-Typ übergeben und ausgegeben.

    Pfad: /Partials/Detail/MediaImage.html

    1. <f:if condition="{media}">
    2. <!-- media files -->
    3. <div class="news-img-wrap">
    4. <f:for each="{media}" as="mediaElement" iteration="mediaElementIterator" reverse="0">
    5. <f:if condition="{mediaElementIterator.isLast}">
    6. <f:then>
    7. <f:if condition="{mediaElement.type} == 0">
    8. <f:render partial="Detail/MediaImage" arguments="{mediaElement: mediaElement, settings:settings}" />
    9. </f:if>
    10. <f:if condition="{mediaElement.type} == 1">
    11. <f:render partial="Detail/MediaVideo" arguments="{mediaElement: mediaElement, settings:settings}" />
    12. </f:if>
    13. <f:if condition="{mediaElement.type} == 3">
    14. <f:render partial="Detail/MediaDam" arguments="{mediaElement: mediaElement, settings:settings}" />
    15. </f:if>
    16. </f:then>
    17. </f:if>
    18. </f:for>
    19. </div>
    20. </f:if>

    Hoffe, das hilft euch weiter.

    Viele Grüße

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    21. 11. 2013, 18:14

    Hallo,

    du kannst auch einfach über newsItem.nonMediaPreviews iterieren, dann hast du genau die elemente nicht, die du nicht haben willst

    lg georg

  • 1