【问题标题】:Paginate Shopify blog with offset? (Liquid)使用偏移量对 Shopify 博客进行分页? (液体)
【发布时间】:2016-08-09 13:53:50
【问题描述】:

我试图弄清楚如何从特定偏移量开始对博客进行分页。例如,第一页包含帖子 5-8,第二页包含帖子 9-12,第三页包含帖子 13-16,依此类推。这似乎不起作用,但我正在寻找这些方面的东西 -

{% paginate blog.articles offset:4 by 4 %}

    {% for article in blog.articles

    ...

    {% endfor %}

{% endpaginate %}

这里有什么解决方法吗?

【问题讨论】:

  • 我可以想到几种方法来实现这一点。您是否试图始终显示最近的 4 个帖子,然后让分页处理其余的?

标签: pagination shopify blogs liquid


【解决方案1】:

我试图查看是否有任何方法可以在 Liquid 中找到体面的解决方法,但没有,因为您要偏移整页;在第一页显示 5-8 是完全可能的,但您需要在第二页显示 9-16,依此类推。恐怕 Shopify paginate 在这里帮不了你。

可能有针对您的情况的特定解决方法;请给我们更多细节,我们会看到。例如,如果您总是想在每个页面上显示四篇最新的博客文章,并让分页处理其余部分,则可能的方法是按照以下方式执行操作:

{% for article in blogs.news.articles limit: 4 %}
  {{ article.title }}
{% endfor %}

{% paginate blog.articles by 4 %}
{% unless paginate.current_page == 1 %}
  {% for article in blog.articles %}
    {{ article.title }}
  {% endfor %}
{% endunless %}

{% include 'pagination' %}
{% endpaginate %}

因此,在任何分页之外,请通过句柄获取最新的 4 篇以展示它们,如果您不在第 1 页,请使用分页在每页上再打印 4 篇文章。

如果不是,这是您应该考虑公开您自己的服务的场景之一,该服务会根据您的需要在内部调用和检索文章from the Shopify API

【讨论】:

  • 嘿胡安,我认为这真的很接近。我的情况是我只希望帖子 1-4 出现在第 1 页上,但这个答案的第二部分会很好。
  • 恐怕我没听懂。如果您能够使用我以前的答案,请告诉我,或者如果不能告诉我,看看我们是否能找到解决方案。干杯!
  • 我相信您的回答会在第 1 页显示帖子 1-4,然后在第 2 页显示帖子 1-4 和 5-8。我正在尝试将每页上的帖子偏移 4,所以 page 1 显示 5-8,第 2 页显示 9-12,等等。
  • 您可以删除 1-4 个帖子的 sn-p,但您将无法显示 5-8,除非您始终链接到 url 上的?page=2。这可以工作,但如果不是,你需要通过 shopify API
【解决方案2】:

偏移量应在循环参数中指定,而不是在分页中。

【讨论】:

  • 这在 Shopify 中不起作用 - 每个页面上的文章由分页对象确定,因此您将抵消每个页面上的可用帖子。
  • 如果分页 = 1 偏移,则可以通过添加循环偏移的条件语句来轻松解决,否则不要。
  • 当您在液体中使用分页对象时,它会预先确定该页面上可用的帖子。因此,第一页上只有帖子 1-4 可用,因此偏移 4 将不会显示任何帖子。
  • 我明白了,那么您可以在分页之前捕获您想要的循环(偏移量:4 限制:4 循环参数)结果。然后,在分页中,如果第 1 页,显示您的捕获内容,并作为 else 语句(第 2 页等),正常模板。不要忘记在分页内的循环上应用相同的偏移量以保持流量。
  • 我仍然认为这不会在第 2 页以上显示正确的帖子,但也许我误解了。如果您认为可行,请随时通过示例更新您的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-16
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2021-03-15
  • 2018-06-12
相关资源
最近更新 更多