[英]How can I add pagination on shopify API products with rails gem
我正在使用 rails gem shopify API gem來獲取 shopify 產品。 我正在獲取這樣的產品:
ShopifyAPI::Product.find(:all, params: { page: parmas[:page],
limit: 10,
title: params[:search]
})
這個 API 返回按標題搜索的產品,限制為 10。那么我如何在我的視圖中添加分頁或者我可以使用will_paginate gem 嗎? 請幫忙!,謝謝! 提前。
您可以將Kaminari.paginate_array(*args)
與數組(Shopify 產品數組)一起用作第一個參數,並將選項用作哈希,您必須將值設置為total_count
鍵。
完整示例:
@paginatable_array = Kaminari.paginate_array(@shopify_products, total_count:145).page(1).per(10)
使用1
作為.page
方法的參數,因為您的數組將只包含 10 個對象(如果限制為 10 和 10 個對象)在視圖中只需使用輔助方法
<%= paginate @paginatable_array %>
我希望它會有所幫助!
我想你的工作遲到了。 但這是如何做到的:
例子
@orders = ShopifyAPI::Order.find(:all, :params => {:status => "any", :limit => 3, :order => "created_at DESC" })
@orders.each do |order|
id = order.id
name = order.name
end
while @orders.next_page?
@orders = @orders.fetch_next_page
@orders.each do |order|
id = order.id
name = order.name
end
end
因此,您可以根據在每個循環中收到的內容創建可分頁的數組。 第一次調用定義了對 fetch_next_page 的所有后續調用的限制。 在我的情況下,每個頁面包含 3 個元素,最多可以有 250 個。
另一種方法是使用shopify“next_page_info”參數進行導航,因此您只需要獲取第一個查詢並包含所有過濾器,然后只需使用頁面信息(previous_page_info或next_page_info)向后/向前導航。
Example 2
first_batch_products = ShopifyAPI::Product.find(:all, params: { limit: 50 })
second_batch_products = ShopifyAPI::Product.find(:all, params: { limit: 50, page_info: first_batch_products.next_page_info })
next_page_info = @orders.next_page_info
prev_page_info = @orders.previous_page_info
更多信息在這里: https : //github.com/Shopify/shopify_api#pagination
問候。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.