반복

반복 태그는 코드 블록을 반복 실행합니다.

for

코드 블록을 반복 실행합니다. for문 내부에서 사용할 수 있는 모든 속성 목록은 forloop (object)에서 확인하십시오.

입력


{% for product in collection.products %}
  {{ product.title }}
{% endfor %}

출력

hat shirt pants

else

반복문이 0의 길이를 가지고 있을 경우 실행할 for문의 폴백 케이스를 지정합니다.

입력


{% for product in collection.products %}
  {{ product.title }}
{% else %}
  The collection is empty.
{% endfor %}

출력

The collection is empty.

break

break 태그를 만나면 반복문 실행이 중지됩니다.

입력


{% for i in (1..5) %}
  {% if i == 4 %}
    {% break %}
  {% else %}
    {{ i }}
  {% endif %}
{% endfor %}

출력

1 2 3

continue

continue 태그를 만나면 현재 반복문을 건너뜁니다.

입력


{% for i in (1..5) %}
  {% if i == 4 %}
    {% continue %}
  {% else %}
    {{ i }}
  {% endif %}
{% endfor %}

출력

1 2 3   5

for (제한)

limit

반복문 실행 횟수를 지정된 수치 만큼 제한합니다.

입력


<!-- if array = [1,2,3,4,5,6] -->
{% for item in array limit:2 %}
  {{ item }}
{% endfor %}

출력

1 2

offset

지정된 인덱스부터 반복문을 실행합니다.

입력


<!-- if array = [1,2,3,4,5,6] -->
{% for item in array offset:2 %}
  {{ item }}
{% endfor %}

출력

3 4 5 6

range

반복문 실행의 범위를 정의합니다. 숫자와 변수로 정의할 수 있습니다.

입력


{% for i in (3..5) %}
  {{ i }}
{% endfor %}

{% assign num = 4 %}
{% for i in (1..num) %}
  {{ i }}
{% endfor %}

출력

3 4 5
1 2 3 4

reversed

반복문의 순서를 반전시킵니다. 철자가 비슷한 reverse 필터와 다릅니다.

입력


<!-- if array = [1,2,3,4,5,6] -->
{% for item in array reversed %}
  {{ item }}
{% endfor %}

출력

6 5 4 3 2 1

cycle

문자열 그룹을 순환한 후 인수에 전달된 순서대로 출력합니다. cycle이 호출될 때마다 다음 문자열 인수가 출력됩니다.

cyclefor문 내부에서 사용되어야 합니다.

입력


{% cycle "one", "two", "three" %}
{% cycle "one", "two", "three" %}
{% cycle "one", "two", "three" %}
{% cycle "one", "two", "three" %}

출력

one
two
three
one

cycle의 주용도:

cycle (제한)

하나의 템플릿에서 다수의 cycle 블록이 필요할 경우 cycle은 “cycle 그룹” 제한을 허용합니다. cycle 그룹에 제공된 이름이 없으면 동일한 제한을 가진 다수의 호출이 하나의 그룹으로 간주됩니다.

입력


{% cycle "first": "one", "two", "three" %}
{% cycle "second": "one", "two", "three" %}
{% cycle "second": "one", "two", "three" %}
{% cycle "first": "one", "two", "three" %}

출력

one
one
two
two

tablerow

HTML 테이블을 생성합니다. HTML의 여는 태그 <table>와 닫는 태그 </table>로 감싸져야 합니다.

입력


<table>
{% tablerow product in collection.products %}
  {{ product.title }}
{% endtablerow %}
</table>

출력

<table>
  <tr class="row1">
    <td class="col1">
      Cool Shirt
    </td>
    <td class="col2">
      Alien Poster
    </td>
    <td class="col3">
      Batman Poster
    </td>
    <td class="col4">
      Bullseye Shirt
    </td>
    <td class="col5">
      Another Classic Vinyl
    </td>
    <td class="col6">
      Awesome Jeans
    </td>
  </tr>
</table>

tablerow (제한)

cols

테이블의 열 수를 정의합니다.

입력


{% tablerow product in collection.products cols:2 %}
  {{ product.title }}
{% endtablerow %}

출력

<table>
  <tr class="row1">
    <td class="col1">
      Cool Shirt
    </td>
    <td class="col2">
      Alien Poster
    </td>
  </tr>
  <tr class="row2">
    <td class="col1">
      Batman Poster
    </td>
    <td class="col2">
      Bullseye Shirt
    </td>
  </tr>
  <tr class="row3">
    <td class="col1">
      Another Classic Vinyl
    </td>
    <td class="col2">
      Awesome Jeans
    </td>
  </tr>
</table>

limit

특정 인덱스에서 tablerow 실행을 종료합니다.


{% tablerow product in collection.products cols:2 limit:3 %}
  {{ product.title }}
{% endtablerow %}

offset

특정 인덱스부터 tablerow를 실행합니다.


{% tablerow product in collection.products cols:2 offset:3 %}
  {{ product.title }}
{% endtablerow %}

range

반복문 실행의 범위를 정의합니다. 숫자와 변수로 정의할 수 있습니다.


<!--variable number example-->

{% assign num = 4 %}
<table>
{% tablerow i in (1..num) %}
  {{ i }}
{% endtablerow %}
</table>

<!--literal number example-->

<table>
{% tablerow i in (3..5) %}
  {{ i }}
{% endtablerow %}
</table>