Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

逻辑标签

因为 ms 标签本身是基于 freemarker 扩展,理论上 freemarker 的逻辑标签模版里面都可以使用,官方文档

判断

文档参考

<#if condition>
...
<#elseif condition2>
...
<#elseif condition3>
...
<#else>
...
</#if>

范例

ms:arclist 中使用 if 判断逻辑

{ms:arclist size=10 ispaging=true}
<a href="{ms:global.url/}${field.link}">
<!-- field 对象是arclist标签循环出的文章对象,field中的属性值参考文章列表中的属性 -->
<#if field.title == "国内java开源 cms系统">
    <span style="color: red">${field.title}</span>
<#elseif field.title == "国内java开源bbs系统">
    <span style="color: green">${field.title}</span>
<#else>
    <span >${field.title}</span>
</#if>
</a>
{/ms:arclist}

Tip

不能直接使用 > < >= <= 等运算字符,需要使用lt小于、lte小于等于、gt大于、gte大于等于

注意数值比较时,注意类型问题,避免出现字符串类型和数值比较导致问题的情况, <#if stringNumber?number gt 10> 通过?number转成数值类型

循环标签

文档参考

<#list list>
    list数组长度超过为0个
    <#items as item>
        ${item.*}
    </#items>
<#else>
    list数组长度为0
</#list>

范例

ms:arclist 中使用 list 循环读取 自定义模型多图片字段

{ms:arclist typeid=70 tableName="mdiy_model_w_w"}
<#if field.img1??>
    <#list field.img1?eval as img>
    ${img.path}
    </#list>
</#if>
{/ms:arclist}

其他

如果还有其他逻辑部分代码的问题,请在提交 ISSUE