首页 > 解决方案 > Shopify:如何呈现推荐的产品?

问题描述

我正在尝试使用 Shopify Ajax API 在购物车中获取推荐产品。我能够获得推荐产品的 json,但不能获得部分渲染。

脚本(注section_id):

 jQuery.getJSON('/cart.js', function(cart) {
      // first recommendation
      jQuery.getJSON("/recommendations/products.json?product_id=" + cart.items[0].product_id + "&limit=6&section_id=recommended_first", function(
       response
      ) {
       var recommendedProducts = response.products;
       }
      });
    })

的HTML:

<div id="recommended_first" class="upsell_product">
     
</div>

我在控制台中收到一些消息:

错误:ShopifyAnalytics.meta.page.pageType 为空:未定义

已启动回退逻辑

我错过了什么?我在 Shopify 文档中没有找到任何示例。

非常感谢!

标签: ajaxshopifyliquid

解决方案


您的代码将不起作用,因为您在第 7 行有一个额外的内容。假设购物车请求返回有效数据,以下代码应该可以工作(在使用变量}之前检查购物车请求是否返回任何项目也是一个好主意):cart.items

jQuery.getJSON('/cart.js', function(cart) {
    jQuery.getJSON("/recommendations/products.json?product_id=" + cart?.items?[0]?.product_id + "&limit=6&section_id=recommended_first", function(response) {
        var recommendedProducts = response.products;
        var recommendedProductsHTML = "";

        for (i = 0; i < recommendedProducts.length; i++) {
            recommendedProductsHTML += `<div>${recommendedProducts[i].title}</div>`;
        }

        $("#recommended_first").html(recommendedProductsHTML);
    });
});

推荐阅读