【发布时间】:2016-07-08 08:54:51
【问题描述】:
SHOPIFY,我必须说,你缺乏对 sdk 的支持。
我是个菜鸟,但我对 js 了解得够多了。但这还不够,shopify 但 sdk 支持页面告诉我使用诸如
之类的东西var shopClient = ShopifyBuy.buildClient({
apiKey: 'private',
myShopifyDomain: 'my-leisure',
appId: '6'
});
创建我的shopClient,就是这样,我不是特别知道我构建了什么,我不知道它是否只是一个具有该数组的对象还是已经构建了更多。
它告诉我使用类似的东西
var cart;
shopClient.createCart().then(function (newCart) {
cart = newCart;
// do something with updated cart
});
所以我知道这使得购物车,虚拟购物车,对前端没有任何意义 和
new CartModel();
它创建了一个新的购物车模型,即它的构造函数。但它是什么,idk,它是否包括侧栏购物车 ui 的 css?
然后它告诉我使用
var product;
shopClient.fetchProduct(6829802497)
.then(function (product) {
product = product;
});
..获取我想要的产品。但是我什么时候这样做,我认为它应该在点击我的自定义购买按钮时完成。
所以我创建了一个 ID 为 mg-240 的按钮,并听取点击以制作产品。
$(document).ready(function() {
document.getElementById('mg-240').onclick = function() {
var product;
shopClient.fetchProduct(6829802497)
.then(function (product) {
product = product;
});
var variant = product.variants[0];
var checkoutURL;
checkoutURL = variant.checkoutUrl(1);
cart.addVariants({variant: product.selectedVariant, quantity: 1}).then(function (cart) {
});
updateModel();
}
});
我的 codepen 做了一些改进,比如在一个函数中运行客户端创建和初始购物车创建,然后在 document.ready() 函数中运行点击监听,
http://codepen.io/lopupen/pen/PzKgQK?editors=1111
我这样做是为了给自己的网站设置样式,并且可以将 ID 应用于按钮以指示是否应将产品添加到购物车或直接结帐。也没有明确指示如何在 sdk 支持 repo 中切换购物车。
如果有人比我聪明得多,可以指导我了解如何使用这些 Angular js node.js 承诺和对象。
干杯和感谢,顺便说一句,首席执行官是智障
我收到这个控制台错误,说我的网址已被弃用,但它是正确的域...您不包括 .myshopify.com。你?只是域?
https://gyazo.com/4959b10465d24e2954d53a7ce0b10ee5
另外需要注意的是,有两种不同的指示方式来启动客户端,如果您不知道这一点,那么遵循来自两个不同页面的说明可能会发生冲突。
看看这个页面:http://shopify.github.io/js-buy-sdk/#creating-a-shop-client
它告诉你
var shopClient = ShopifyBuy.buildClient({
apiKey: 'your-api-key',
myShopifyDomain: 'your-myshopify-domain',
appId: '6'
});
但在这里:http://shopify.github.io/js-buy-sdk/examples/
$(function() {
var client = ShopifyBuy.buildClient({
apiKey: 'your-api-key',
myShopifyDomain: 'your-myshopify-domain',
appId: '6'
});
});
它只是告诉你使用客户端,这可能没问题,但在他们使用 client.etc 的同一页面上。他们也在示例中使用客户端,
client.fetchProduct('your-product-id').then(function(product) {
var html =
"<img class='product__image' src='" + product.selectedVariantImage.src + "' >" +
"<h2 class='product__title'>" + product.title + "</h2>" +
"<a class='product__buy' href='" +
product.selectedVariant.checkoutUrl(1) +
"'>Buy Now!</a>";
$('#product-1').html(html);
});
但是在另一个页面上,他们也在示例中使用了 shopClient,所以如果您混合示例代码,这有点烦人,也许人们不知道。我认为 shopify 的 CEO 更像是一个完美主义者,而不是这个难以使用的东西。似乎在大多数情况下,客户端应该定义为 shopClient,但在示例文档中,有一个巨大的 js 文件,其中仅使用了客户端。哈哈
https://github.com/Shopify/js-buy-sdk/blob/master/examples/cart/index.js
【问题讨论】:
标签: javascript jquery angularjs shopify