2012-04-27 188 views
2

我正在嘗試執行以下操作:我正在構建標準的HTML/PHP網站。我們會在網站上放置產品。當有人點擊「添加到購物車」時,用戶將被引導到Shopify與他們的產品信息,並且該產品將被添加到購物車(迄今沒有問題...得到了這個成就)。當他們點擊瀏覽器返回網站(因此離開Shopify購物車)時,我需要能夠在頁眉的網站上顯示產品信息。就像「5種產品| 168.00美元」......基本上允許網站訪問者(不是在shopify中,而是在我們構建的HTML網站中)查看購物車中的值,然後隨時查看或查看購物車。如何在網站上的Shopify網站上顯示Shopify購物車值

我碰到這樣的:http://api.shopify.com/cart.html#show

我有點在JSON對於新手,並一直在尋找的是什麼,我試圖做的,但沒有看到他們的例子。

任何建議或有人指着我在正確的方向將是很棒的。

回答

1

這兩個頁面應該幫助你:

Adding to the Cart from a remote website

我不知道自己在做什麼添加到購物車,現在,但是這是「正確」的方式做到這一點。看到你已經有了這個工作,我不會太擔心。

爲了讓車,你應該使用AJAX API。該API允許您爲當前用戶提供購物車,而無需使用您鏈接的REST版本。那個設計用於做更重的舉重(例如獲得當前所有的活動推車)。 AJAX版本非常簡單,專爲前端使用而設計。簡單而言,只需撥打

http://[the-shop].myshopify.com/cart.js

,你會回來的車的內容爲JSON當前會話。它會是這個樣子:

{ 
"items": [ 
    { 
     "handle": "aquarius", 
     "line_price": 6000, 
     "requires_shipping": true, 
     "price": 2000, 
     "title": "aquarius - medium", 
     "url": "/products/aquarius", 
     "quantity": 3, 
     "id": 30104042, 
     "grams": 181, 
     "sku": "", 
     "vendor": "the candi factory", 
     "image": "http://static.shopify.com/s/files/1/0040/7092/products/aquarius_1.gif?1268045506", 
     "variant_id": 30104042 
    }, 
    { 
     "handle": "amelia", 
     "line_price": 4000, 
     "requires_shipping": true, 
     "price": 2000, 
     "title": "amelia - medium", 
     "url": "/products/amelia", 
     "quantity": 2, 
     "id": 30104012, 
     "grams": 200, 
     "sku": "", 
     "vendor": "the candi factory", 
     "image": "http://static.shopify.com/s/files/1/0040/7092/products/2766315_da1b.png?1268045506", 
     "variant_id": 30104012 
    } 
], 
"requires_shipping": true, 
"total_price": 10000, 
"attributes": null, 
"item_count": 5, 
"note": null, 
"total_weight": 947 

}

+0

感謝您的回覆。過去一週我們一直在研究這個問題,我們遇到的問題是將shopify的信息拖到我們自己的網站上,這似乎並不奏效。 Shopify中是否有安全功能可防止將該信息(購物車中的物品)拉到遠程站點? – flinx777 2012-05-07 19:00:39

+0

沒有。您可能遇到[相同來源策略](http://en.wikipedia.org/wiki/Same_origin_policy)問題,但數據應該可用。 – 2012-05-08 03:28:11

7

Shopify實際上提供了一個JSONP格式的文件,假設你來自同一個網域(訪問識別個人用戶的Shopify餅乾)。

換句話說:

比方說,一個WordPress站點住在www.example.com

及所附「店址」就住在shop.example.com(確保此域是在Shopify側主域)

從你的WordPress網站使用jQuery訪問購物車,並加工成模板或頁面,你可以撥打:

jQuery.ajax({ 

    url: "//shop.example.com/cart.json", 
    dataType: "jsonp", 
    success: function(data) { 
     /* Template Code here */ 
    }, 
    error: function(jxhr, status, err) { 
     console.log("Error, status = " + status + ", err = " + err); 
    } 

}); 

JSONP格式的文件允許跨域AJAX調用通過一些JavaScript欺騙手段。

+0

我已經看了很多這個問題的答案,並嘗試了'$ .ajax' /'$ .get' /'$ .getJSON'和你的答案,並增加了'method:'get'',是爲我做了詭計的人。謝謝! – ntdb 2016-09-20 04:05:31

1

如果有人有同樣的問題。 卡梅隆的答案解決了我的問題。如果您將dataType設置爲「jsonp」,請記得將「.js」更改爲「.json」

+0

對,你會用/cart/clear.js做什麼,例如沒有/cart/clear.json版本 – 2015-01-19 19:45:14