【发布时间】:2011-08-01 14:24:17
【问题描述】:
我一直在摆弄 Magento 购物车 API (Magento v.1.5),发现在创建购物车(并添加产品)时,“sales_flat_quote”表中的“is_active”值设置为“0 ”。相比之下,如果你在商店界面使用“加入购物车”按钮,“is_active”的值会被设置为“1”。
我做了一些挖掘,发现 API 在 app/code/core/Mage/Checkout/Model/Cart/Api.php 中设置了“is_active”。
这是相关的代码块:
public function create($store = null)
{
$storeId = $this->_getStoreId($store);
try {
/*@var $quote Mage_Sales_Model_Quote*/
$quote = Mage::getModel('sales/quote');
$quote->setStoreId($storeId)
->setIsActive(false)
->setIsMultiShipping(false)
->save();
} catch (Mage_Core_Exception $e) {
$this->_fault('create_quote_fault', $e->getMessage());
}
return (int) $quote->getId();
}
所以我不确定将其设为假的意图是什么。商店接口和 API 之间的行为差异是否有原因?或者是否必须通过 API 执行其他操作才能激活购物车?
【问题讨论】:
-
如果您发布您正在使用的特定版本的 Magento 将会非常有帮助,因为版本之间的情况往往会发生很大变化。
-
对不起,Magento v.1.5。我已将其添加到原始帖子中。
标签: magento