[Frage] tx_news: Kategorie-Bilder in News-Liste ausgeben [Gelöst] TYPO3-Version: -

  • Itsab Itsab
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    04. 08. 2014, 10:29

    Hallo zusammen,

    wieder mal eine Frage zum Thema tx_news. Ich möchte in der etwas modifizierten Listview jedem Item das dazugehörige Kategorie-Bild mitgeben. Ich habe eine Liste von News nach Kategorien sortiert ausgegeben. Je Kategorie gibt es immer nur die letzte News. Dazu folgendes Template Templates/News/List.html:

    1. <f:section name="content">
    2. <f:if condition="{news}">
    3. <f:then>
    4. <f:if condition="{settings.templateLayout} == 10">
    5. <div class="news_cases">
    6. <f:groupedFor each="{news}" as="groupedNews" groupBy="firstCategory" groupKey="cat">
    7. <f:for each="{groupedNews}" as="newsItem" iteration="iterator">
    8. <f:if condition="{iterator.isFirst}">
    9. <f:then>
    10. <f:cycle values="{0: 'odd', 1:'even'}" as="oddeven">
    11. <div class="news_item {oddeven}">
    12. <f:render partial="List/ItemCases" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" />
    13. </div>
    14. </f:cycle>
    15. </f:then>
    16. </f:if>
    17. </f:for>
    18. </f:groupedFor>
    19. <div class="clear"></div>
    20. </div>
    21. </f:if>
    22. </f:then>
    23. </f:if condition="{news}">
    24. </f:section name="content">

    Und das dazugehörige Template Partials/List/ItemCases.html:
    1. <n:link newsItem="{newsItem}" settings="{settings}">
    2. <div class="news_item_inner">
    3. <f:if condition="{newsItem.category.falMedia}">
    4. <f:then>
    5. <f:alias map="{mediaElement: newsItem.category.falMediaPreviews.0}">
    6. <f:if condition="{mediaElement.originalResource.type} == 2">
    7. <f:image src="{mediaElement.uid}" treatIdAsReference="1" title="{mediaElement.originalResource.title}" alt="{mediaElement.originalResource.alternative}" maxWidth="{settings.list.media.image.maxWidth}" maxHeight="{settings.list.media.image.maxHeight}" />
    8. </f:if>
    9. </f:alias>
    10. </f:then>
    11. </f:if>
    12. <h4><f:render partial="Category/ItemsLast" arguments="{categories:newsItem.categories, settings:settings}" /> <span class="news_item_date"><n:format.date format="{f:translate(key:'dateFormat')}">{newsItem.datetime}</n:format.date></span></h4>
    13. <h5>{newsItem.title}</h5>
    14. <div class="news_teaser">
    15. <f:if condition="{newsItem.teaser}">
    16. <f:then>
    17. <f:format.html><f:format.crop maxCharacters="{settings.cropMaxCharacters}" respectWordBoundaries="1">{newsItem.teaser}</f:format.crop></f:format.html>
    18. </f:then>
    19. <f:else>
    20. <f:format.html><f:format.crop maxCharacters="{settings.cropMaxCharacters}" respectWordBoundaries="1"><n:format.striptags>{newsItem.bodytext}</n:format.striptags></f:format.crop></f:format.html>
    21. </f:else>
    22. </f:if>
    23. </div>
    24. </div>
    25. </n:link>

    Bisher habe ich schon einiges probiert, aber ich bekomme das Bild einfach nicht da hinein. Ich komme mit dem FAL noch nicht so recht klar. Allerdings weiß ich auch nicht, ob {newsItem.category.falMedia} in die richtige Richtung geht, da ich nicht weiß, wie das Kategorie-Bild korrekt abrufe. Kann mir jemand auf die Sprünge helfen?

    Mit freundlichen Grüßen
    Itsab

  • ralphle ralphle
    R2-D2
    0 x
    90 Beiträge
    0 Hilfreiche Beiträge
    15. 01. 2015, 11:33 - Lösung

    1. <f:for each="{category.item.images}" as="image" >
    2. <f:image src="{image.uid}" alt="{image.title}" width='144' height="80" treatIdAsReference="1"/>
    3. </f:for >

    So hab's ich jetzt gelöst. Passt bei mir.


  • 1
  • ralphle ralphle
    R2-D2
    0 x
    90 Beiträge
    0 Hilfreiche Beiträge
    24. 11. 2014, 12:30

    Hi,
    bin an demselben Problem:
    http://www.typo3.net/forum/thematik/zeige/thema/119182/
    Hast Du schon eine Lösung gefunden?
    Grüße Ralph

  • ralphle ralphle
    R2-D2
    0 x
    90 Beiträge
    0 Hilfreiche Beiträge
    15. 01. 2015, 11:33

    1. <f:for each="{category.item.images}" as="image" >
    2. <f:image src="{image.uid}" alt="{image.title}" width='144' height="80" treatIdAsReference="1"/>
    3. </f:for >

    So hab's ich jetzt gelöst. Passt bei mir.

  • Itsab Itsab
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    15. 01. 2015, 13:23

    Hallo Ralph,

    vielen Dank für dein Snippet, das scheint eine elegante Lösung zu sein. Leider ist das Thema mangels Zeit bei mir schon länger nicht mehr aktuell. Ich werde das hoffentlich mal testen können, sehe den Thread damit als gelöst.

    Grüße
    Basti

  • 1