液体逻辑正在计算最高分(标记)并在产品页面上输出结果。但是,相同的分数列表(标签)也会显示在页面的其他位置。我希望能够在分数列表中隐藏最高分,因为这已经显示在一个单独的框中。
这是我计算得分最高的逻辑:
{%- capture list_of_scores -%}
{{wa}}|Wine Advocate,
{{bh}}|Burghound,
{{ag}}|Vinous,
{{jr}}|Jancis Robinson,
{{jg}}|John Gilman
{%- endcapture -%}
{%- capture list_of_scores_num -%}
{{wa}},
{{bh}},
{{ag}},
{{jr}},
{{jg}}
{%- endcapture -%}
{% assign scores_array = list_of_scores | split: ',' %}
{% assign scores = list_of_scores_num | split: ',' %}
{% assign highest_score = scores | first | plus: 0 %}
{% assign name = '' %}
{% for score_val in scores %}
{% assign cur_score = score_val | plus: 0 %}
{% if cur_score >= highest_score %}
{% assign highest_score = score_val | plus: 0 %}
{% assign name = scores_array[forloop.index0] | split: '|' | last %}
{% endif %}
{% endfor %}
<span>{{ highest_score }}</span>
<h5>{{ name }}</h5>
我试过隐藏列表中的最高标记:
{% if wa != highest_score %}<span>WA {{ wa }}</span>{% endif %}
有什么建议吗?
答案 0 :(得分:0)
{% if wa != highest_score %}
这个条件总是为真,因为wa
似乎是一个字符串而highest_score
是一个整数(因为| plus: 0
用于将字符串转换为一个字符串整数)。整数不能等于字符串。
您可以尝试将wa
转换为整数,然后将其与highest_score
进行比较:
{% assign waToInt = wa | plus: 0 %}
{% if waToInt != highest_score %}<span>WA {{ wa }}</span>{% endif %}