Liquid、JavaScriptなどに関する質問
index.liquidで特定のコレクションを6件表示したいです。
{% assign collection = collections['hoge'] %} {% for product in collection.products %} <a href="{{ product.url }}">{{ product.title }}</a> {% endfor %}
こちらでコレクション(hoge)を出力していますが、件数の制御方法が分からず困っております。
ご存知のおられましたらご教授いただけますでしょうか。
解決済! ベストソリューションを見る。
成功
ご回答ありがとうございます。
> いただいた回答通り試しましたが思った出力にならず、いまだ全件表示のままでした。
{% include 'product-card-grid', max_height: 400 %
この部分が私のコードと違いますが、まずは原因の切り分けのために、私のコード同様にproduct.titleを試しに出してみるのはどうでしょうか?
(Snipetのincludeに問題があるのか、for 文自体に問題があるのか)
ちなみにループの抜け方は以下となります。
https://shopify.dev/docs/themes/liquid/reference/tags/iteration-tags
コレクションのソートは、以下の方法で設定によって可能です。
https://help.shopify.com/ja/manual/products/collections/collection-layout#part-af4fe2072df0ce55
Liquidでやる場合は以下となります。
https://shopify.dev/docs/themes/liquid/reference/filters/array-filters#sort
商品タイトル順やベストセラー順は上記の方法で対応可能です。
以下のlimitを使えば可能かと思います。
https://shopify.dev/docs/themes/liquid/reference/tags/iteration-tags
試していませんが、
{% for product in collection.products limit:6 %}
とかはどうでしょう?
Liquidについては、一度統合的に学習されると色々応用が効いてよろしいかと思います。
https://shopify.dev/docs/themes/liquid/reference
https://www.shopify.jp/blog/partner-shopify-template-language-liquid-overview
私のショップで実際に、Debut のindex.liquid を以下にようにしたところ、ご質問内容のように出力されました。
{{ content_for_index }} {% assign collection = collections['frontpage'] %} {% for product in collection.products limit:6 %} <a href="{{ product.url }}">{{ product.title }}</a><br/> {% endfor %}
上記のlimit:6 をlimit:3 にすると、3件になるので、ご期待の動作になっているかと思います。
ご回答ありがとうございます。
いただいた回答通り試しましたが思った出力にならず、いまだ全件表示のままでした。
{% assign collection = collections['tops'] %} {% for product in collection.products limit:3 %} {% include 'product-card-grid', max_height: 400 %} {% endfor %}
こちらが実際に記述しているコードになります。
for文を途中でbreakさせて、ループを止める方法も考えましたが
liquidでの抜け方が分からなかったため断念しました。
今はcssで○件以上は非表示としています。
また、別の質問にはなりますがこの中で表示順を変えることは可能でしょうか?
(売上順やアルファベット順など)
お手数おかけして大変恐縮ですがご回答いただけますと幸いです。
成功
ご回答ありがとうございます。
> いただいた回答通り試しましたが思った出力にならず、いまだ全件表示のままでした。
{% include 'product-card-grid', max_height: 400 %
この部分が私のコードと違いますが、まずは原因の切り分けのために、私のコード同様にproduct.titleを試しに出してみるのはどうでしょうか?
(Snipetのincludeに問題があるのか、for 文自体に問題があるのか)
ちなみにループの抜け方は以下となります。
https://shopify.dev/docs/themes/liquid/reference/tags/iteration-tags
コレクションのソートは、以下の方法で設定によって可能です。
https://help.shopify.com/ja/manual/products/collections/collection-layout#part-af4fe2072df0ce55
Liquidでやる場合は以下となります。
https://shopify.dev/docs/themes/liquid/reference/filters/array-filters#sort
商品タイトル順やベストセラー順は上記の方法で対応可能です。
ループを抜ける方法でうまく出力ができました!
並び替えは管理画面の方から試してみようと思います。
丁寧にご回答いただきありがとうございました。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024