Liquid、JavaScriptなどに関する質問
コレクションをバリエーション毎に出力しているため、在庫バリーションがMサイズのみしか適用できない状態になっております。
forloop.index0によってMのblue Mのblack・・・等
Mしか在庫が反映されない問題が起こっています。
下記URLを参考
https://alanryan.dev/tips/color-variants-collection-page/
そのため、メタフィールドでバリーション毎に登録して在庫あるかどうかの判定ができないか考えました。
{% assign variable = product.metafields.custom.test.value %} {%- for products in variable -%} {%assign zaiko = products.available %} {{ zaiko }} {%- endfor -%}
一応上記のコードで在庫の有無を6つ取り出せることができました。
ですが、trueが6つ出力されてしまうので、M,L合わせて一つにして各商品ごとに真偽値で出し分けることは可能でしょうか?
ご回答いただけると助かります。
M,L合わせて一つにして各商品ごとに真偽値で出し分ける
上記ご要望を把握できかねていますが、forで順次出力される値をまとめたいのであれば、appendとsplitを使った配列作成で対応できるかと思います。
Googleなどで「Shopify 配列作成」あたりで検索すればサンプルが色々見つかると思いますので、それらを参照ください。
場合によっては真偽値の他に別の情報も追加すれば、配列作成後の処理に利用できると思います。
配列を作らない方法としては、必要な数だけ変数を作成し、forループ内で条件に応じて各変数に値を入れる形でも対応できるかなと思います。
参考:
https://shopify.dev/api/liquid/filters/array-filters
Shopifyペイメント決済サービスを利用していて、ストアの管理画面の通知セクションに突然「Shopifyペイメントの使用を継続するために必要な情報」というバナーメッセージが表示さ...
By Mirai Dec 3, 2023すべてのShopifyアカウントはデフォルトではmyshopify.comのURLと関連付けられており、これはアカウント設定時に使用したビジネス名に基づいて作成されます。しかし、オ...
By Nina_13 Nov 26, 2023このトピックは英語版コミュニティの投稿:Shopify Web Pixel Manager Sandbox FAQの日本翻訳です。
By Mirai Nov 19, 2023