Class Liquid::For
In: lib/liquid/tags/for.rb
Parent: Block

"For" iterates over an array or collection. Several useful variables are available to you within the loop.

Basic usage:

   {% for item in collection %}
     {{ forloop.index }}: {{ item.name }}
   {% endfor %}

Advanced usage:

   {% for item in collection %}
     <div {% if forloop.first %}class="first"{% endif %}>
       Item {{ forloop.index }}: {{ item.name }}
     </div>
   {% else %}
     There is nothing in the collection.
   {% endfor %}

You can also define a limit and offset much like SQL. Remember that offset starts at 0 for the first item.

   {% for item in collection limit:5 offset:10 %}
     {{ item.name }}
   {% end %}

 To reverse the for loop simply use {% for item in collection reversed %}

Available variables:

forloop.name:‘item-collection‘
forloop.length:Length of the loop
forloop.index:The current item‘s position in the collection; forloop.index starts at 1. This is helpful for non-programmers who start believe the first item in an array is 1, not 0.
forloop.index0:The current item‘s position in the collection where the first item is 0
forloop.rindex:Number of items remaining in the loop (length - index) where 1 is the last item.
forloop.rindex0:Number of items remaining in the loop where 0 is the last item.
forloop.first:Returns true if the item is the first item.
forloop.last:Returns true if the item is the last item.

Methods

new   render   unknown_tag  

Constants

Syntax = /(\w+)\s+in\s+(#{QuotedFragment}+)\s*(reversed)?/o

Public Class methods

Public Instance methods

[Validate]