Новости TYPO3: показать первое изображение в превью - PullRequest
0 голосов
/ 04 июля 2018

Я использую расширение новостей от Георга Рингера в TYPO3 8.7.13.

Если изображение не выбрано для предварительного просмотра, расширение показывает фиктивное изображение. Можно ли вместо этого использовать первое изображение из статьи?

Спасибо

1 Ответ

0 голосов
/ 04 июля 2018

Конечно, вам нужно переопределить частичку жидкости List / Item. Для этого добавьте

plugin.tx_news.view.partialRootPath = EXT:your_extension/Resources/Private/Partials/News/

в ваших константах для опечатки.

Затем скопируйте частично текучие файлы из расширения новостей в ваше расширение. У вас должно быть что-то вроде этого:

enter image description here

В News / List / Item.html изменить эту часть

    <f:if condition="{settings.displayDummyIfNoMedia}">
            <div class="news-img-wrap">
                <span class="no-media-element">
                    <n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
                        <f:image src="{settings.list.media.dummyImage}" title="" alt="" maxWidth="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" maxHeight="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
                    </n:link>
                </span>
            </div>
        </f:if>

до

         <div class="news-img-wrap">
            <n:link newsItem="{newsItem}" settings="{settings}" title="{newsItem.title}">
                <f:alias map="{mediaElement: '{newsItem.falMedia.0}'}">
                    <f:if condition="{mediaElement.originalResource.type} == 2">
                        <f:image image="{mediaElement}" title="{mediaElement.originalResource.title}" alt="{mediaElement.originalResource.alternative}" maxWidth="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" maxHeight="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
                    </f:if>
                    <f:if condition="{mediaElement.originalResource.type} == 4">
                        <f:render partial="Detail/MediaVideo" arguments="{mediaElement: mediaElement}"/>
                    </f:if>
                    <f:if condition="{mediaElement.originalResource.type} == 5">
                        <f:image image="{mediaElement}" title="{mediaElement.originalResource.title}" alt="{mediaElement.originalResource.alternative}" maxWidth="{f:if(condition: settings.media.maxWidth, then: settings.media.maxWidth, else: settings.list.media.image.maxWidth)}" maxHeight="{f:if(condition: settings.media.maxHeight, then: settings.media.maxHeight, else: settings.list.media.image.maxHeight)}"/>
                    </f:if>
                </f:alias>
            </n:link>
        </div>
...