tablerowloop.last
은 테이블의 마지막 셀 (컬렉션의 즉 최종 제품)에 대해 true를 반환하지 마지막 행 :
{% tablerow product in collections.frontpage.products cols: 2 %}
{% if tablerowloop.col_first and tablerowloop.last %}
<img src="{{'box.png' | asset_url}}">
{% else %}
<div class='featured-product'>
<img src="{{ product.images[1] | product_img_url: 'medium' }}">
<p>{{ product.title }}</p>
</div>
{% endif %}
{% endtablerow %}
여기 사이트입니다. 대신 컬렉션의 끝에있는 cols
내의 인덱스가 첫 번째 열인 경우 마지막 행이어야하는지 확인해야합니다.
{% tablerow product in collections.frontpage.products cols: 2 %}
{% assign x = tablerowloop.length | minus:2 %}
{% if tablerowloop.col_first and tablerowloop.index > x %}
<img src="{{'box.png' | asset_url}}">
{% else %}
<div class='featured-product'>
<img src="{{ product.images[1] | product_img_url: 'medium' }}">
<p>{{ product.title }}</p>
</div>
{% endif %}
{% endtablerow %}
알았어, 나는 tablerowloop.last가 테이블의 마지막 셀만 반환한다는 것을 알았습니다. 하지만 정적 컨텐츠를 올바르게 출력 한 다음 루프가 너무 일찍 종료되므로 나에게 의미가 없습니다. –
프론트 페이지 컬렉션에는 5 개의 제품 만 있으므로 두 열 테이블에는 마지막 행에 하나의 제품 만 있습니다. if 조건이 일치하므로 해당 제품이 box.png 자산 이미지로 대체됩니다. 너무 일찍 죽어가는 것은 아니지만, box.png 이미지 다음에 제품을 보여주기를 원할 수도 있습니다.이 경우 if 블록에서 else 블록을 이동할 수 있습니다. –