JulienA
JulienA

Reputation: 37

Shopify - Exit for loop through if statement

I am working a shopify shop but not trying to sell products but rather appointments. I am using a shopify extension called Sesami to do so.

In the customer/account.liquid page I want to show the next coming appointment (or appointments) and a different information to people who don't have any future appointment coming.

I have been trying to do this with the following code :

{% if customer.orders != blank %}
 {% for order in customer.orders %}
 {%- for line_item in order.line_items -%}
 {% for property in line_item.properties limit:1 %}
  {% assign today_date = 'now' | date: '%s' %}
  {% assign pre_date = property.last | date: '%s' %}
   {% if pre_date >= today_date %}
    {{ line_item.product.title | link_to: line_item.product.url }}
    {% for property in line_item.properties limit:1 %}
     {% if property != blank %}
      {{ property.last | date: format: 'abbreviated_date' }}
      {{ 'customer.orders.at' | t }} 
     {% endif %}
    {%- endfor -%}
    {% for property in line_item.properties offset:1 %}
     {{ property.last }}
    {%- endfor -%}
    {{ line_item.image |  img_url: 'small' | img_tag }}
    {{ order.fulfillment_status_label }}
   {% endif %}  
  {% endfor %}
  {%- endfor -%}
  {% endfor %} 
{% else %}
Content for people with no booking at all
{% endif %}

But the problem is that the forloop stays open and therefore shows the content I am hoping to display to people with no upcoming appointment multiple times based on the total number of past appointments.

I imagine there is a much simpler way to do this and am hoping you can help me find it !

Thanks a lot, Julien

Upvotes: 0

Views: 1359

Answers (1)

Ben Havilland
Ben Havilland

Reputation: 73

Consider using {% break %} when you'd like the loop to stop it's current iteration.

https://shopify.github.io/liquid/tags/iteration/#break

Upvotes: 1

Related Questions