How to best approach conditional logic with for loops in Liquid?

Hi all,

I have been scratching my head around the best way to approach this design, I have a block which is limited to 3 but in the for loop, I have been trying to do some conditional logic to count the first block coming out, then I need to wrap the other two blocks in a div so we have a 60 / 40 Flex on the two-child divs.

What’s the best way to approach this with liquid? I have tried like so but everything is coming out as “full_width”

{% assign count = 0 %}

	{% for block in section.blocks %}  
	{% assign count = count | plus: 1 %}

	{% assign   full_width = "full_width" %}
	{% assign   fifty = "fifty" %}

	{% if count > 0 %}
	{{full_width}}
	{% else count > 1 %}
	{{fifty}}
	{% endif %} 

	My element with counter class

{% endfor %}

{% assign count = 0 %}

	{% for block in section.blocks %}  
	{% assign count = count | plus: 1 %}

	{% assign   full_width = "full_width" %}
	{% assign   fifty = "fifty" %}

	{% if count > 1 %}
           {{fifty}}
	{% elsif count == 1 %}
           {{full_width}}	
	{% endif %} 

	
My element with counter class

{% endfor %}
1 Like

Oh dear, I feel silly now, sorry I am new to Liquid and generally work with PHP but yes, of course, it’s always going to be 0.

Thank you @Hardik29418 :slightly_smiling_face:

Show More

I suppose then the best approach for this is to use cycle and a mix of the if statements right?

Yes, And please check my messages also

1 Like