[英]Array Manipulation in Liquid shopify
我正在嘗試在Liquid中進行條件迭代。 這就是我所擁有的
{% capture title_tag %}
{% for teacher in course.teachers %}
{% if course.teachers.size == 1 %}
{{course.title}} with {{ teacher.name | escape }}
{% elsif course.teachers.size > 1 %}
{{ course.title }} with {{ teacher.name }}
{% endif %}
{% endfor %}
{% endcapture %}
不出所料,第一個“ if”條件運行良好,我得到了這樣的輸出
“艾薩克·牛頓的數學入門”。
我的問題是elsif
,因此當教師人數大於1時,我得到了
“ Isaac Newton的數學入門”和“ Elon Musk的數學入門”。
我真正想要的是
“與艾薩克·牛頓和伊隆·馬斯克的數學入門”
我將不勝感激任何幫助。 謝謝
問題是您要在不循環內打印course.title
。
{% capture title_tag %}
{{ course.title }} with ⇐ !!!! HERE
{% for teacher in course.teachers %}
{% if course.teachers.size == 1 %}
{{ teacher.name | escape }}
{% elsif course.teachers.size > 1 %}
{{ teacher.name }}
{% endif %}
{% endfor %}
{% endcapture %}
使用and
將名稱連在一起會比較棘手,並且需要附加編碼。 也許您應該只使用String#join
:
{% capture title_tag %}
{{ course.title }} with
{{ course.teachers.map { |t| t.name }.join(', ') }}
{% endcapture %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.