簡體   English   中英

Liquid shopify中的數組操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM