- This topic is empty.
Viewing 2 posts - 1 through 2 (of 2 total)
-
AuthorPosts
-
November 30, 2017 at 3:48 am #9584bradly-spicerParticipant
I’m attempting to create a “Pre-Order” Like mechanic where certain elements of my Shopify Liquid Template only show if the current date is more or less than the date specified in a Metafield.
As of current this is what I have including logic:
<!-- Check Today is correct --> <p>Today: {{'now' | date: '%d-%m-%Y' }}</p> <!-- This is the Metafield Output as a String --> <p>Release Date: {{ product.metafields.Release-Date.preOrder }}</p> <!-- Assign Variable "today_date" to the current date --> {% assign today_date = 'now' | date: '%d-%m-%Y' %} <!-- Assign Variable "pre_date" to the string of the metafield --> {% assign pre_date = product.metafields.Release-Date.preOrder %} {% if today_date > pre_date %} Today's date is greater than PreOrder Date {% else %} Today's date is not greater than PreOrder Date {% endif %}
However, even when I set the PreOrder date to 01-01-2018 it still shows the “Is greater than”.
How do I correctly query this?
December 1, 2017 at 6:47 am #9585dripParticipantYou can’t compare strings this way. (The dates are strings.)
You have to use the
%s
date filter instead.So it will become:
{% assign today_date = 'now' | date: '%s' %} {% assign pre_date = product.metafields.Release-Date.preOrder | date: '%s' %} {% if today_date > pre_date %}
We use
%s
because it will return the current unix timestamp number instead of a string. This way you will be able to compare the different timestamps. -
AuthorPosts
Viewing 2 posts - 1 through 2 (of 2 total)
- You must be logged in to reply to this topic.