【问题标题】:Multiple Collections in ShopifyShopify 中的多个集合
【发布时间】:2015-12-06 05:56:05
【问题描述】:

我的页面上现在显示了 3 个集合。

我想在最底部有一个分页,如果有的话,它将加载所有 3 个集合的下 50 个产品。

我该怎么做?

这是我的代码:

{% paginate collections.mycollection1.products by settings.pagination_limit %}
        <div style="clear:both;">
            <h1>Title</h1>
            {% assign products_per_row = "4" %}
            {% assign limit = 50 %}
            {% assign products = collections.mycollection1.products %}
            {% include 'product-loop' with settings.collection_sidebar %}
            {% include 'pagination' with settings.collection_sidebar %}
        </div>

    {% endpaginate %}

{% paginate collections.mycollection2.products by settings.pagination_limit %}
        <div style="clear:both;">
            <h1>Title</h1>
            {% assign products_per_row = "4" %}
            {% assign limit = 50 %}
            {% assign products = collections.mycollection2.products %}
            {% include 'product-loop' with settings.collection_sidebar %}
            {% include 'pagination' with settings.collection_sidebar %}
        </div>

    {% endpaginate %}

{% paginate collections.mycollection3.products by settings.pagination_limit %}
        <div style="clear:both;">
            <h1>Title</h1>
            {% assign products_per_row = "4" %}
            {% assign limit = 50 %}
            {% assign products = collections.mycollection3.products %}
            {% include 'product-loop' with settings.collection_sidebar %}
            {% include 'pagination' with settings.collection_sidebar %}
        </div>

    {% endpaginate %}

【问题讨论】:

  • 你是这个意思吗? - 第 4 个分页部分,将列出 mycollection1、mycollection2 和 mycollection3 中的下 50 个产品。
  • @HymnZ 是的,我想要一个分页来控制所有 3 个集合

标签: collections shopify liquid


【解决方案1】:

这是您可以通过使用分页来完成的。我假设所有三个集合的大小都相同。

  1. 首先,让我们调用您商店中所有产品的分页

    {% assign total_products = collections.all.products_count %}

  2. 由于您一次洗牌 4 个产品,因此要分页的页数将是产品总数 / 4

    {% assign loop_value = total_products | divided_by: 4 %}

  3. 现在开始分页

    {% paginate collections by loop_value %}

  4. 现在我们需要一个显示窗口来为 4 个产品显示工作

    {% assign window = paginate.current_page %} {% assign window_start = window | minus: 1 | times: 4 %} //4 is the number of products being displayed {% assign window_end = window | times: 4 | plus: 1 %}

  5. 现在完成了,我们开始产品展示。这对所有 3 个集合都是相同的语法,只需根据需要替换集合句柄即可。

    {% for product in collections.mycollection1.products %} // mycollection1 is your collection handle {% if forloop.index > window_start and forloop.index < window_end %} {% include 'product-block' %} {% endif %}{% endfor %}

  6. 我们结束分页

    {% if paginate.pages > 1 %}<div class="pagination align-right"> {{ paginate | default_pagination }} </div>{% endif %}{% endpaginate %}

需要非常小心注意的一些重要事项:

  • 除非您从代码动态创建“mycollection1/2/3”数组,否则此代码仅适用于这些集合中的前 50 个产品。
  • 您只能在整个页面中使用一次分页功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 2019-03-11
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多