[Special Summer Sale] 40% OFF All Magento 2 Themes

Cart

Shopify Liquid: If Statement

  • This topic is empty.
Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #9596
    sylar
    Participant

    I am trying to enable a div class based on when a user views certain web page eg: blog, index or ../page/webpage

    The code is like this:

    {% unless template contains "index" and settings.slideshow_enabled %}
       <div class="container main content">
    {% endunless %}
    

    That “container main content” shows an image behind the nav bar. On other pages, the image starts from below the nav bar. A clear example here: http://retina-theme.myshopify.com/

    I want to have that same homepage, link the link above, on selected pages or template:

    {% if template == "index" and template == "page" and settings.slideshow_enabled %}
       <div class="container main content">
    {% endif %}
    

    So far nothing I have tried worked. Any tips?

    Edited:

    I can’t answer my own question as yet but this worked with a tweak to the javascript:

    {% unless template contains "page" or template contains "index" and settings.slideshow_enabled %} 
     <div class="container main content"> 
    {% endunless %}
    
    #9597
    steph-sharp
    Participant

    Multiple conditions in if statements don’t work so well in liquid. See a similar question here.

    One option is to use nested if statements:

    {% if template == "index" or template == "page" %}
      {% if settings.slideshow_enabled %}
        <div class="container main content">...</div>
      {% endif %}
    {% endif %}
    

    Or something like this:

    {% if template == "index" or template == "page" %}
      {% assign correct_template = true %}
    {% endif %}
    {% if correct_template and settings.slideshow_enabled %}
      <div class="container main content">...</div>
    {% endif %}
    
Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.