自定义Ajax页面加载Shopify集合页面?

Ele*_*ant 5 ajax jquery shopify

我正在尝试在shopify上构建一个简单的解决方案,我点击"查看更多"链接,我的ajax将从下一页提取数据并将其显示在我当前的收藏页面而不更改页面.

我有这个工作到下面最简单的方法,但是我正在尝试更改这个,所以在每个页面之后它将为下一个请求添加另一个div.它应该是这样的:

  1. 用户滚动到底部并单击"查看更多"链接.
  2. 数据显示在提供的第一个div中.
  3. 用户再次单击"查看更多"
  4. 数据显示在上一页之后的下一页

我希望这是有道理的.我假设我需要实现某种计数器并使用该计数器作为我的ajax查询中的页码,但我不确定如何做到这一点以及在每次查询后创建一个新的div,其中将插入下一个数据.

这是我的代码到目前为止:

$(document).ready(function() {
$('#more p a').click(function(e) {
  e.preventDefault();
  $.ajax({
     url: 'https://url.myshopify.com/collections/all?page=2',
     type:'GET',
     success: function(data){
         $('#ajax-content-2').html($(data).find('.collection-wrapper').html());
     }
  });
});
});
Run Code Online (Sandbox Code Playgroud)

小智 2

好吧,因为我没有真正得到任何回应,所以我只是写了自己的,它非常基本,但它有效。

jQuery:

$(document).ready(function() {
    var counter = 2
    var pages = Math.ceil('{{ collection.all_products_count }}' / {{ settings.products_per_page }});
    var maxCount = pages + 1;
    console.log("Pages Found: " + pages);

    console.log("Collection Title: {{ collection.handle }}");

    $('#more p a').click(function(e) {

        e.preventDefault();
        var getUrl = "site.myshopify.com/collections/{{ collection.handle }}?page="+counter;

        $.ajax({
             url: getUrl,
             type:'GET',
             success: function(data){
                $("#ajax-content-"+counter).html($(data).find('.collection-wrapper').html());
                counter++;
                var oldCount = counter - 1;
                $("#ajax-content-"+oldCount).append("<div id='ajax-content-"+counter+"'></div>");

                if(counter == maxCount ) {
                    $('#more').empty();
                }

             }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

如果您在这里发现任何可以改进的地方,请告诉我:)