You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多条件(AND)if else语句异常:集合筛选仅触发首个条件

解决Liquid中if-else条件顺序导致的逻辑问题

嘿,我一眼就看出问题出在哪了!你的条件判断顺序搞反啦——更具体的条件应该放在前面,不然会被宽泛的条件直接拦截。

你原来的代码里,第一个if pageValues contains 'Latexmadrasser'会匹配所有包含这个材质标签的情况,哪怕用户同时选了尺寸70x200,程序也会先触发第一个分支,后面的elsif根本没机会执行。

给你修正后的代码,调整条件顺序就搞定了:

{% if pageValues contains 'Latexmadrasser' and pageValues contains '70x200' %}
<h2 class="mat-h2-collecion">Latexmadrasser 70x200</h2>
<p> Hello </p>
{% elsif pageValues contains 'Latexmadrasser' %}
<h2 class="mat-h2-collecion">Latexmadrasser</h2>
<p> Hello </p>
{% endif %}

逻辑说明:

  • 先检查最具体的场景:是否同时选中了材质Latexmadrasser和尺寸70x200,满足就显示对应的组合标题
  • 再检查宽泛的场景:只选中材质的情况,这样就不会被前面的条件提前拦截啦

这样调整后,不管用户是只选材质,还是同时选材质和尺寸,都能触发对应的内容了。

内容的提问来源于stack exchange,提问作者Alexander Krüger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:22:02