Html 尝试循环浏览项目的选项列表,但不打印最后一个选项 ${option.name}: ${option.value}
上面的代码(html内部)是我用来循环浏览项目内部选项列表的代码。目前,它循环遍历所有选项并打印所有选项。但是,我想这样做,它不会打印此列表中的最终选项Html 尝试循环浏览项目的选项列表,但不打印最后一个选项 ${option.name}: ${option.value},html,list,loops,freemarker,Html,List,Loops,Freemarker,上面的代码(html内部)是我用来循环浏览项目内部选项列表的代码。目前,它循环遍历所有选项并打印所有选项。但是,我想这样做,它不会打印此列表中的最终选项 我有点受限,因为我必须通过html单独完成这项工作。我假设我需要某种类型的if语句来告诉它在到达最后一个选项时停止,或者具体告诉它停止在哪个选项内容,但我似乎不知道如何编写它。option\u index提供当前选项的索引,size提供长度,您只需要将它们与if语句进行比较 选项_索引基于0,因此需要从大小中减去1,以不包括最后一项 注意-您也
我有点受限,因为我必须通过html单独完成这项工作。我假设我需要某种类型的if语句来告诉它在到达最后一个选项时停止,或者具体告诉它停止在哪个选项内容,但我似乎不知道如何编写它。
option\u index
提供当前选项的索引,size
提供长度,您只需要将它们与if语句进行比较
选项_索引基于0,因此需要从大小中减去1,以不包括最后一项
注意-您也可以使用option?index
获取索引,具体取决于您使用的freemarker版本,但是option\u index
将适用于较新的freemarker版本以及较旧的freemarker版本
为了完整起见,我还将添加?is_last
,这归功于ddekany的回答,用法
总之,如果您有一个更新的freemarker版本,if语句可以这样编写
更新-假设Freemarker 2.3.23或更高版本
<#list orderItem.options as option>
<tr>
<td class="order-item-detail">
${option.name} :
</td>
</tr>
<tr>
<td class="order-item-red">
${option.value}
</td>
</tr>
</#list>
<#if option?is_last>
....
</#if>
....
原始答案
<#list orderItem.options as option>
<tr>
<td class="order-item-detail">
${option.name} :
</td>
</tr>
<tr>
<td class="order-item-red">
${option.value}
</td>
</tr>
</#list>
<#if option?is_last>
....
</#if>
${option.name}:
${option.value}
尺寸文件
序列中的子变量数(作为数值)。这个
序列s中可能的最高索引是s?size-1(因为
第一个子变量为0),假设序列至少有
一个子变量
索引文件
返回迭代所在的基于0的索引(由
循环变量名)当前有效
您可以删除列表的最后一项(请注意,对于已空的列表,这将导致错误):
我不知道您正在使用什么使其动态化,但我确信它有一个选项来获取orderItem.options的子集。options
这应该是什么语言?我在你的标签里找不到。那不是普通的HTML。您使用的模板系统是什么?为什么不使用CSS隐藏最后两个
元素呢?老实说,我不知道我使用的是哪种语言。我知道我正在使用平台Ecwid创建一个商店,它给了我很少的编码选项。我只能访问发票布局的html和css,这就是我试图编辑的内容。它看起来像Freemarker,所以我添加了Freemarker标记OK,我喜欢它不会破坏我的代码(就像我以前尝试使用if语句一样),但是,它似乎没有任何区别。它仍然打印所有选项/我知道每次打印总共会有6个选项,因为我为每个项目创建了6个选项。我可以只针对选项列表中的最后一个索引吗?您可以打印出索引和大小,以确保逻辑正常,${option\u index}
和${orderItem.options?size}
将它们放在html中进行测试,这样您就可以知道哪里出错了同样的事情,它似乎根本不会影响它。所有选项仍打印在发票上。@JamesLee确定,请立即尝试。它应该是orderItem.options?size
我检查了错误项目的大小
<#list orderItem.options as option>
<#if !option?is_last>
...
</#if>
</#list>