2

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

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

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

4

2 回答 2

3

您无法使用 Magento Core API 甚至新的 REST Api 获取此信息。如果您想要这些信息,您需要编写自己的 Magento 扩展并将其安装在您的目标系统上。

Magento 中的“购物车”对象将特定的用户帐户与特定的 Magento “报价”对象联系起来。报价是订单对象之前的订单。在 Magento 的“PHP API”(即 Magento 开发人员用来操作系统的原生 PHP 对象)中,这是一个sales/quote对象。

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

该对象的数据存储在sales_flat_quote表中,并且有一customer_id列,因此您应该能够获得所需的信息。

于 2013-09-30T19:17:35.963 回答
0

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

PS 您是否通过 AJAX 请求您的 drupal 站点?我会因为 API 很慢,而且您不希望 drupal 站点在您进行查找时挂起几秒钟。

于 2013-09-30T18:41:37.517 回答