2017-01-13 4 views
0

オフ60%の製品の最終販売メッセージを表示しようとすると、「最終販売」メッセージは、次のコードを使用して、70%オフである任意の製品のために表示されます。Metafields:私のカスタマイズされたShopifyのテーマで

{% 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」というアクティブなメタフィールドが表示されていますが、このカスタムメタフィールドに割り当てられているパーセンテージを調整できる場所はわかりません...私はこれを見つけることができる誰も知っている?

+0

あなたは元の価格を保存するために「比較価格で」フィールドを使用していますか? https://help.shopify.com/manual/products/promoting-marketing/sales#set-a-compare-at-price –

+0

@JoshBrown私は、価格を比較して元の価格を保管しています。あなたはそれがこれに関係していると思いますか? – bhood

答えて

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

関連する問題