我正在尝试在Drupal中显示购物车图标,其中包含我们姐妹Magento网站购物车中的商品数量。
我正在使用Magento Core API查找有关客户的信息并在Drupal中使用它。我正在尝试为特定的Magento客户ID加载购物车的内容,但我认为没有办法做到这一点。购物车信息API方法仅支持按报价ID查找。报价ID似乎是购物车的主键。
是否可以使用Magento API按客户ID查找购物车信息?
答案 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站点在你查找时挂起几秒钟。