TYPO3新闻:如果Media Element有视频项,则添加课程

问题描述 投票:0回答:2

如果“关系”选项卡包含视频元素,我需要将类添加到“新闻”项。

<f:if condition="{mediaElement.type} == 2">
    <div class="news-video">preview image</div>
 </f:if>

我的问题是如何更改此代码以检查新闻是否在关系选项卡中有视频元素,如果是,则将类“news-video”添加到div

typo3 typo3-7.6.x tx-news
2个回答
0
投票

尝试将变量viewhelper与if条件和循环组合如下:

<f:if condition="{newsItem.relatedFiles}">
    <f:for each="{newsItem.relatedFiles}" as="relatedFile">
        <f:if condition="{relatedFile.originalResource.type} == 2">
            <f:variable name=”newsVideo”>1</f:variable>
        </f:if>
    </f:for>
</f:if>
<div{f:if(condition: '{newsVideo}', then: ' class="news-video"')}>preview image</div>

0
投票

video-filetype number is 4,而不是2。

您可以通过for-each生成课程:

<div 
    <f:if condition="{newsItem.relatedFiles}">
        class="
        <f:for each="{newsItem.relatedFiles}" as="relatedFile">
            <f:if condition="{relatedFile.originalResource.type} == 4">
                news-video
            </f:if>
        </f:for>
        "
    </f:if>
>
preview image
</div>

一个副作用是每个视频元素都会重复该类:

class =“新闻 - 视频新闻 - 视频新闻 - 视频”

is not valid

为了避免这种情况,您可以通过adding a counter增强代码并跳过所有重复,或者如果您的计数器> = 1则仅生成该类。

© www.soinside.com 2019 - 2024. All rights reserved.