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

时间:2019-02-07 10:12:19

标签: typo3 typo3-7.6.x tx-news

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

ABC:
line 1,,,,"hfhf,ferf,ju,ABC"
line 2 ,,,,,"ewy,trggt,gtg,ABC,RFR"
BDF:
line 3 .."himk,n,hn.ujj., BDF"

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

2 个答案:

答案 0 :(得分: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 =“ news-video新闻-video新闻-视频”

is not valid

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

答案 1 :(得分: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>