【问题标题】:Shopify Liquid show content based on datesShopify Liquid 根据日期显示内容
【发布时间】:2022-01-10 22:12:08
【问题描述】:

在我的 shopify 商店中,我想在 2022 年 2 月 1 日至 2022 年 2 月 14 日的液体文件中显示 html 横幅。它仅适用于情人节订单,所以我想在 1 日至 14 日的日期自动显示横幅。

非常感谢任何帮助。

【问题讨论】:

    标签: javascript jquery shopify liquid liquid-layout


    【解决方案1】:

    从 Spotify 液体文档中,您可以使用下面的代码 sn-p 创建条件代码路径:

    {% assign start = "2022-01-02" | date: '%s' %}
    {% assign end = "2022-02-14" | date: '%s' %}
    {% assign today = "now" | date: '%s' %}
    {% if  start <= today and today <= end %}
        <h2>Show banner</h2>
    {% endif %}
    

    此代码只会在指定的时间范围内显示横幅。您可以在 Liquid 编辑器上试用:https://liquidjs.com/playground.html

    【讨论】:

    • 这正是我想要的,谢谢。
    • 如果我希望这段代码每年都在同一时间执行,但不想进入代码并将年份更新为 2022 年到 2023 年,这样的事情如何实现? {% assign year = 'now' | date: '%Y' %} {% assign start = "01-02" | date: '%s' %} {% assign end = "02-25" | date: '%s' %} {% assign today = "now" | date: '%s' %} {% if start &lt;= today and today &lt;= end %} &lt;h2&gt;Show banner&lt;/h2&gt; {% else %}&lt;br/&gt; &lt;h2&gt;Nothing&lt;/h2&gt; {% endif %}
    【解决方案2】:

    使用简单的 if 语句。通过Date(),您可以获得所需的所有信息。

    const date = new Date();
    
    if (date.getDate() > 14 && date.getMonth() === 1 && date.getFullYear() === 2022) {
        document.getElementById('banner').style.display = 'none';
    }
    &lt;div id="banner"&gt;BANNER&lt;/div&gt;

    确保 date.getMonth() 在 2 月设置为 1,因为值从 0 开始。

    【讨论】:

    • 我将它添加到页面中并显示横幅内容,无论它设置什么日期。另外我需要它只在 2/1/22 - 2/14/22 期间显示,我们有没有机会让它做到这一点?
    • @aBe 应该是 date.getDate() &gt; 14 而不是 date.getDate() &lt;= 14。我已经编辑了我的答案。在以下示例中,您将在 2022 年 1 月 15 日之前看到横幅:jsfiddle.net/rf8qn6ks
    猜你喜欢
    • 2013-07-18
    • 2014-08-13
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 2020-07-17
    • 2021-04-06
    • 1970-01-01
    相关资源
    最近更新 更多