2012-12-01 50 views
4

我正在使用購物車屬性爲每個產品添加額外信息(從產品頁面)。 我特別使用購物車屬性而不是訂單項屬性,因爲客戶需要能夠按稍後順序編輯此信息,哪些訂單項屬性不允許更新/刪除Shopify中的購物車屬性

添加信息的工作很好,當客戶決定從購物車中刪除商品時,問題就出現了,因爲雖然商品已被刪除,但購物車屬性仍然存在,因爲它不是專門綁定到產品(除了我們給它的命名約定。)

那麼,有沒有辦法更新/刪除特定的購物車屬性?

在此先感謝您的答覆!

回答

8

我已經使用購物車的屬性,因爲它們被引入後,發現大部分與它們相關的錯誤(Shopify一路固定),給了我足夠的信心在這個問題上通知你。

要編輯它們,只需使用與創建它們相同的密鑰來提供購物車,然後更改信息即可。如果您提供一個空值,您將刪除密鑰。這只是一個關鍵:價值商店。順便提一下,訂單項也可以在我的書中編輯。我只是通過更改鍵值來編輯它們,並通過提供訂單項索引值,可能忽略了一些內容?

無論如何,如果您使用提供的Shopify Javascript API代碼,並檢查該小型庫,您將看到用於創建屬性的函數。稍作改動後,您可以引入您自己的購物車屬性CRUD功能來滿足您的需求。

這裏是炫耀更新車屬性的舊例子中,數據是一個字符串,即)「的屬性[嘶嘶聲] =‘嗡嗡’(請注意,可以由此存儲JSON):

updateCartAttributes: function(data, callback) { 
    var params = { 
    type: 'POST', 
    url: '/cart/update.js', 
    data: data, 
    dataType: 'json', 
    success: function(cart) { 
     if ((typeof callback) === 'function') { 
     callback(cart); 
     } 
     else { 
     Shopify.api.onCartUpdate(cart); 
     } 
    }, 
    error: function(XMLHttpRequest, textStatus) { 
     Shopify.api.onError(XMLHttpRequest, textStatus); 
    } 
    }; 
    $.ajax(params); 
} 
+0

大衛您好,我剛剛重新訪問了不同項目的答案,但我注意到您說過「順便提一下,在我的書中可以編輯的訂單項」。您是指在結帳過程之前的任何時間,還是店主可以更改他們後來在管理員中? – ChrisC

+1

訂單項屬性只能在結賬前編輯。結帳後它們是隻讀的。沒有權限使用API​​來更改它們。 –

+0

需要微小的更新 - 刪除蜂鳴聲周圍的撇號字符串'屬性[fizz] = buzz'只需要用雙引號括起來,就像這樣:'「attributes [fizz] = buzz」# –