cfdirectory根据过滤器输出不同的html

lha*_*rby 2 html coldfusion cfdirectory cfloop cfml

我想根据传递给 cfdirectory 的过滤条件吐出略有不同的 html。

这是我的 cfml:

<cfdirectory
    directory="#dirName#"
    name="fileList"
    action="list"
    type="file"
    filter="*.jpg|*.jpeg|*.png|*.gif|*.mp4"
>
<ul id="content">
    <cfoutput>
        <cfloop query="fileList">
            <cfif filter NEQ '*.mp4'> // I guess this is not possible and is throwing the error
                <li class="content image">
                    <img src="img/#name#" />
                </li>
            </cfif>
            <cfelse>
                <li class="video image">
                    <video controls="controls">
                        <source src="img/#name#" type="video/mp4">
                    </video>
                </li>
            </cfif>
        </cfloop>
    </cfoutput>
</ul>
Run Code Online (Sandbox Code Playgroud)

我认为我不能简单地访问filter内部cfif,但我不确定如何对其进行剥皮。它是否需要存储在循环外的变量中?

非常感谢任何帮助

RRK*_*RRK 5

您可以简单地执行以下操作。

<cfif listLast(fileList.name, '.') NEQ 'mp4'>
Run Code Online (Sandbox Code Playgroud)