Liquid、JavaScriptなどに関する質問
liquidで自動コレクションの条件を判定する方法があれば知りたいです。
例えば、自動コレクションの条件に「商品の販売元」が設定されているかどうか、といった具合です。
また、自動コレクションかどうか、という判定もできるようでしたら知りたいです。
初心者で申し訳ございませんがよろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
初心者とのことなのでお勧めできませんが、興味があったので試したところ以下のような書き方で一応判定はできるようでした。
{%- liquid
assign collection_array = collection | json | remove: '"' | remove: '{' | remove: '}' | remove: '[' | remove: ']' | split: ','
for collection_array_elem in collection_array
if collection_array_elem contains 'column'
assign collection_columns = collection_columns | append: ',' | append: collection_array_elem | remove: 'column:'
endif
endfor
assign collection_columns_array = collection_columns | remove_first: "," | split: ','
-%}
{% if collection_columns_array contains 'vendor'%}
vendor(商品の販売元)が設定されています
{% else %}
vendor(商品の販売元)が設定されていません
{% endif %}
以下注記や補足です。
なお、誤判定リスクが高いですが以下のような大雑把な判定も可能ではあります。
{% assign collection_json = collection | json %}
{% if collection_json contains 'vendor' %}
vendor(商品の販売元)が設定されています
{% else %}
vendor(商品の販売元)が設定されていません
{% endif %}
こちらは商品名など意図しない箇所にvendorが含まれていると意図した動作になりません
以上ですが、既に記載しましたとおり初心者とのことなのでサンプルコードの利用はお勧めできません。
どうしても実現したいという場合はliquidを学ばれるか、パートナーやエキスパートに依頼されることをお勧めします。
collection objectのドキュメントを見る限り、質問者様のご要望に沿うattiributeは存在しないようです。
https://shopify.dev/api/liquid/objects/collection
私が思いつくやり方は下記です。
メタフィールドをご用意いただき、
そちらに、自動コレクションかどうかや、コレクションの条件を入力しておき、
それらを判定に使用する。
しかし、これは、ちょっと大変そうですね。
もしかしたら、
より良いやり方やアプリを紹介してくれる方が現れるかもしれませんので、
もう少しお待ちいただくのが良いかもしれません。
(キュー田辺)
成功
初心者とのことなのでお勧めできませんが、興味があったので試したところ以下のような書き方で一応判定はできるようでした。
{%- liquid
assign collection_array = collection | json | remove: '"' | remove: '{' | remove: '}' | remove: '[' | remove: ']' | split: ','
for collection_array_elem in collection_array
if collection_array_elem contains 'column'
assign collection_columns = collection_columns | append: ',' | append: collection_array_elem | remove: 'column:'
endif
endfor
assign collection_columns_array = collection_columns | remove_first: "," | split: ','
-%}
{% if collection_columns_array contains 'vendor'%}
vendor(商品の販売元)が設定されています
{% else %}
vendor(商品の販売元)が設定されていません
{% endif %}
以下注記や補足です。
なお、誤判定リスクが高いですが以下のような大雑把な判定も可能ではあります。
{% assign collection_json = collection | json %}
{% if collection_json contains 'vendor' %}
vendor(商品の販売元)が設定されています
{% else %}
vendor(商品の販売元)が設定されていません
{% endif %}
こちらは商品名など意図しない箇所にvendorが含まれていると意図した動作になりません
以上ですが、既に記載しましたとおり初心者とのことなのでサンプルコードの利用はお勧めできません。
どうしても実現したいという場合はliquidを学ばれるか、パートナーやエキスパートに依頼されることをお勧めします。
Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 2024