问题所在
我在使用Magento创建订单时遇到了困难。我已经准备好了所有的基本必需品(下面的代码片段),但是每次我尝试创建订单时,状态代码1008都会失败(参见Magento博士)。
但是没有错误消息,所以我只知道订单创建失败了。
$cart_id = $magi->execute("cart.create");
$customerEntity = $magi->execute("customer.info",5);
$customerEntity["mode"] = "customer";
$customerAddressEntity = $magi->execute("customer_address.info",$customerEntity["default_billing"]);
$customerAddressEntity["mode"] = "billing";
$magi->execute("cart_customer.set", array($cart_id,$customerEntity));
$magi->execute("cart_customer.addresses", array($cart_id,array($customerAddressEntity)));
$productEntity = array("product_id" => 48,"qty" => 1);
$magi->execute("cart_product.add",array($cart_id,array($productEntity)));
$magi->execute("cart_payment.method",array($cart_id,array("method" => "banktransfer")));
$orderId = $magi->execute("cart.order", array($cart_id));
在magento日志中,此操作后将记录以下消息。
未定义偏移量: 0/var/www/cloud2u.nl/mccloud_n/app/code/core/Mage/Checkout/Model/Cart/Payment/Api.php
未定义变量: websiteId/var/www/cloud2u.nl/mccloud_n/app/code/core/Mage/Catalog/Model/Resource/Product/Collection.php.
(此条目在此之后重复3次,每次间隔半秒钟)。
我在这里感到很困惑,几周前它还处于工作状态,从那以后没有什么变化。
更多信息
$magi变量包含一个用于使用Magento的抽象对象。它还捕获和记录所有错误,因此在这段代码中没有try/catch块。
发布于 2012-08-14 08:45:55
未定义偏移量: 0/var/www/cloud2u.nl/mccloud_n/app/code/core/Mage/Checkout/Model/Cart/Payment/Api.php
此错误意味着有一个数组没有[ '0‘]的值
发布于 2015-03-31 22:36:30
第一个错误:
未定义偏移量: 0/var/www/cloud2u.nl/mccloud_n/app/code/core/Mage/Checkout/Model/Cart/Payment/Api.php
是由于此方法的Api.php中有错误:
protected function _preparePaymentData($data)
{
if (!(is_array($data) && is_null($data[0]))) {
return array();
}
return $data;
}
我解决了这个问题
if (!(is_array($data) && is_null($data[0])))
使用
if (!(is_array($data) && !isset($data[0])))
在测试过程中,它以相同的方式工作,并消除了错误。
发布于 2012-08-05 11:39:27
我认为你的$productEntity是错的。
$productEntity = array(
array("product_id" => 48,"qty" => 1);
);
它使马车空无一人。
^^
https://stackoverflow.com/questions/10996520
复制相似问题