如何使用Magento Core API获取特定用户的购物车?

时间:2013-09-30 18:05:16

标签: php magento drupal drupal-7

我正在尝试在Drupal中显示购物车图标,其中包含我们姐妹Magento网站购物车中的商品数量。

我正在使用Magento Core API查找有关客户的信息并在Drupal中使用它。我正在尝试为特定的Magento客户ID加载购物车的内容,但我认为没有办法做到这一点。购物车信息API方法仅支持按报价ID查找。报价ID似乎是购物车的主键。

是否可以使用Magento API按客户ID查找购物车信息?

2 个答案:

答案 0 :(得分: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 :(得分:0)

根据文档,customer.info方法不会返回客户的活动报价ID,因此默认情况下看起来不像。使用自定义模块扩展核心API以提供引用ID非常容易。或者您可以扩展结帐模块并构建一个新的api方法,该方法通过客户ID进行查找,并避免一起使用customer.info请求。请阅读http://www.magentocommerce.com/wiki/doc/webservices-api/custom-api以获取有关如何执行此操作的指南。使用自定义API方法的好处是您可以对其进行优化(可能会执行一个查询,只提供您想要的数据(即只是引用的产品数量),而不是加载完整的引用对象。)

P.S。您是否通过AJAX向drupal网站提出请求?我认为API很慢,你不希望drupal站点在你查找时挂起几秒钟。