Shopify テーマ、Liquid、ロゴ、その他の類似トピック
お世話になります。
【前提】
・アプリ「EasyLockdown」で、アクセスできる商品を制限している
・コレクションに登録されている商品は80点
【問題】
表示制限をかけている商品が空欄状態となり、実際にアクセスできる商品が3点しかなくとも、コレクションページが改ページしてしまいます。
グリッド表示で行が5。列が8で1ページ内に最高40件表示されるようにしていますが、アクセス制御によって商品が見えていないのに、3ページ分のコレクションページが出来上がってしまいます。
1ページ目:商品1つ表示、2ページ目:商品2つ表示、3ページ目:表示なし、というような状態です。
(アクセスさせたい商品は3つだけなので、改ページは不要)
【ご相談】
Debutテーマの利用時に、コレクション登録された商品を表示する件数を制限せず、全て1ページ内に全て表示してしまうことは可能でしょうか。
グリッド表示ですと、行が5、列が8で最高40件の表示となると思います。
これを、コレクションへの登録点数が100件ある場合でも、3ページにまたがず、1ページで全て表示を行いたいです。
解決可能なアプリ、修正すべき箇所がありましたら、お教えいただけますようお願いいたします。
また、テーマの修正で解決できればと思い「Shopify テーマ」内に投稿させていただきましたが、カテゴリ違いである場合移動いたしますので、ご指摘いただければと思います。
よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
実際に試していないので正常に動作するかはわかりませんが、恐らくcollection.liquidの以下を
{%- assign product_limit = section.settings.grid | times: section.settings.rows -%}
<ul class="grid grid--uniform grid--view-items">
{% for product in collection.products limit: product_limit %}
以下のようにlimitフィルターを削除すれば制限は解除されると思います。
{%- assign product_limit = section.settings.grid | times: section.settings.rows -%}
<ul class="grid grid--uniform grid--view-items">
{% for product in collection.products %}
制限解除をせずにどうにかできないかなと思いましたが、EasyLockdownが行っている制限方法を把握していないため検討していません。
コレクションのメタフィールドに何らかの値を埋め込んでいるのであればそれを利用できるかなとは思いましたが。
なお、商品点数の制限は以下の箇所で「行あたりの商品数」と「ページあたりの行数」の掛け算で決定されていると思われます。
{%- assign product_limit = section.settings.grid | times: section.settings.rows -%}
そのため特定のコレクションにだけ制限解除の影響を与えたいという場合には、この辺りの動作を分岐させれば可能だと思われます。
もしも動作しない場合は申し訳ありません。
成功
実際に試していないので正常に動作するかはわかりませんが、恐らくcollection.liquidの以下を
{%- assign product_limit = section.settings.grid | times: section.settings.rows -%}
<ul class="grid grid--uniform grid--view-items">
{% for product in collection.products limit: product_limit %}
以下のようにlimitフィルターを削除すれば制限は解除されると思います。
{%- assign product_limit = section.settings.grid | times: section.settings.rows -%}
<ul class="grid grid--uniform grid--view-items">
{% for product in collection.products %}
制限解除をせずにどうにかできないかなと思いましたが、EasyLockdownが行っている制限方法を把握していないため検討していません。
コレクションのメタフィールドに何らかの値を埋め込んでいるのであればそれを利用できるかなとは思いましたが。
なお、商品点数の制限は以下の箇所で「行あたりの商品数」と「ページあたりの行数」の掛け算で決定されていると思われます。
{%- assign product_limit = section.settings.grid | times: section.settings.rows -%}
そのため特定のコレクションにだけ制限解除の影響を与えたいという場合には、この辺りの動作を分岐させれば可能だと思われます。
もしも動作しない場合は申し訳ありません。
jizo様
ご回答頂きましてありがとうございます。
回答を頂いた内容通り、collection.liquid内の記述修正を行ってみましたが、望む動作とはなりませんでした。
しかし、「ページネーションの上限を解除しないと表示件数自体の制限を解除しても表示が上手くいかない」というような内容を見つけ、
該当する部分(collection-template.liquid内のページネーション記述)をあわせて修正してみたところ、1ページでの表示が可能となりました。
希望する表示を行うことが出来ました。ありがとうございます!
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