2013-09-30 42 views
2

我試圖在Drupal中顯示購物車圖標,其中包含我們姊妹Magento網站的購物車中的物品數量。如何爲使用Magento Core API的特定用戶購買購物車?

我使用Magento Core API來查找客戶信息並在Drupal中使用它。我試圖加載購物車的內容以獲取特定的Magento客戶ID,但我沒有看到任何方式來執行此操作。購物車信息API方法僅支持通過報價ID進行查找。報價ID似乎是購物車的主要關鍵。

是否可以使用Magento API通過客戶ID查找購物車信息?

回答

3

您無法使用Magento Core API或甚至是新的REST Api來獲取此信息。如果您需要這些信息,您需要編寫自己的Magento擴展程序,並將其安裝在您的目標系統上。

Magento中的「Cart」對象將特定的用戶帳戶綁定到特定的Magento「quote」對象。報價是訂單對象之前的訂單。在Magento的「PHP API」(即Magento開發人員用來操縱系統的原生PHP對象)中,這是一個sales/quote對象。此對象

$quote = Mage::getModel('sales/quote'); 

數據存儲在該sales_flat_quote表,並有一個customer_id列,所以你應該能夠得到你所需要的信息。

+1

是否可以通過ID加載報價? – mahdi

+1

@mahdi你可以通過任何標準加載報價。研究Magento/Varien數據收集。 –

+1

,但不會在前端顯示產品。要在前端展示產品,我必須添加產品到結帳/購物車。 – Spartan

0

customer.info方法不會根據文檔返回客戶的活動報價ID,所以它看起來不像您可以默認。使用自定義模塊擴展核心API以提供報價編號非常容易。或者,您可以擴展檢出模塊並構建一個新的API方法,它可以通過客戶ID進行查找,並避免將customer.info請求放在一起。請閱讀http://www.magentocommerce.com/wiki/doc/webservices-api/custom-api瞭解如何執行此操作的指南。擁有自定義API方法的好處是可以對其進行優化(也許可以做一個查詢,只提供您想要的數據(即只需引用產品的數量)而不是加載完整的引用對象)。

P.S.您是否通過AJAX提交您的drupal網站的請求?我認爲API速度很慢,並且你不希望drupal站點在查找時掛幾秒鐘。