我试图在Drupal中显示购物车图标,其中包含我们姊妹Magento网站的购物车中的物品数量。如何为使用Magento Core API的特定用户购买购物车?
我使用Magento Core API来查找客户信息并在Drupal中使用它。我试图加载购物车的内容以获取特定的Magento客户ID,但我没有看到任何方式来执行此操作。购物车信息API方法仅支持通过报价ID进行查找。报价ID似乎是购物车的主要关键。
是否可以使用Magento API通过客户ID查找购物车信息?
我试图在Drupal中显示购物车图标,其中包含我们姊妹Magento网站的购物车中的物品数量。如何为使用Magento Core API的特定用户购买购物车?
我使用Magento Core API来查找客户信息并在Drupal中使用它。我试图加载购物车的内容以获取特定的Magento客户ID,但我没有看到任何方式来执行此操作。购物车信息API方法仅支持通过报价ID进行查找。报价ID似乎是购物车的主要关键。
是否可以使用Magento API通过客户ID查找购物车信息?
您无法使用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
列,所以你应该能够得到你所需要的信息。
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站点在查找时挂几秒钟。
是否可以通过ID加载报价? – mahdi
@mahdi你可以通过任何标准加载报价。研究Magento/Varien数据收集。 –
,但不会在前端显示产品。要在前端展示产品,我必须添加产品到结帐/购物车。 – Spartan