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ページでの表示が可能となりました。
希望する表示を行うことが出来ました。ありがとうございます!
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024