【问题标题】:Metafields in Shopify: Trying to display Final Sale message for products that are 60% offShopify 中的元字段:尝试显示折扣 60% 的产品的最终销售消息
【发布时间】:2017-05-29 08:49:22
【问题描述】:

在我自定义的 Shopify 主题中,使用以下代码为任何折扣 70% 的产品显示“最终销售”消息:

{% assign finalSale = product.metafields.details.final_sale | upcase %}
{% if finalSale == 'TRUE' %}
    <p style="color: #B21F1F;">
        This item is final sale -- no returns or exchanges are accepted.
    </p>
{% endif %}

我正在尝试更改此设置,以便在产品降价 60% 时显示最终销售消息。我的主题是使用 Metafields 2 应用程序,我确实在“配置产品元字段”页面下看到名为“final_sale”的活动元字段,但我看不到在哪里可以调整分配给此自定义元字段的百分比......有人知道我在哪里可以找到这个吗?

【问题讨论】:

标签: shopify liquid


【解决方案1】:

60% 的数字不在此代码中的任何位置,也根本不是主题的一部分。当元字段被分配为 TRUE 时,将进行百分比比较。但是,只能读取液体中的元场——你不能在那里写它们。您肯定需要寻找在其他地方设置元字段的代码;可能作为自定义应用程序的一部分。

不过,我认为您根本不需要此案例的元字段。您可以使用 product.price 属性和数学过滤器在液体中设置逻辑。

在液体中看起来像这样:

if compare_at_price | minus price | divided_by compare_at_price >= 0.6

使用这种方法需要注意的一点是 Shopify 的数学过滤器有时会四舍五入到最接近的整数,但您可以在开始之前通过乘以 100 来解决这个问题。

assign sale_amount = compare_at_price | minus price | times 100
assign adjusted_compare_price = compare_at_price | times 100
if sale_amount | divided_by adjusted_compare_price >= 60

实际实现可能需要比这更复杂一些,具体取决于您使用变体和变体定价的方式,此外,此示例无法处理“价格”是原始价格而“比较价格”是销售的情况数量。这些也可以用液体的逻辑来处理。以下是相关的液体参考资料,可帮助您在需要时进一步构建:

https://help.shopify.com/themes/liquid/objects/product

https://help.shopify.com/themes/liquid/filters/math-filters

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2020-11-05
    • 2021-09-03
    • 2016-05-17
    相关资源
    最近更新 更多