在APP / CODE / CORE / MAGE / CATALOG / MODEL / PRODUCT / TYPE / CONFIGURABLE.PHP中的非对象上调用成员函数GETSKU()

今天,我们的一位客户在Magento ver中报告了以下问题。1.5.1.0,我们尝试复制但无法复制问题。深入研究代码后,我们发现以下行导致了问题-:

$simple_sku = $simpleOption->getProduct($product)->getSku();</code>

问题是,为什么会导致问题,为什么我们不能复制问题,然后我们的一位技术负责人说,可能是客户篮子中的产品已被删除或禁用。我们进入了sales_flat_quote表,发现该表中很少有SKU在主产品表中不存在。为了证明是这种情况,我们直接在sales_flat_quote表中更改了购物篮的SKU,发现了同样的错误,瞧!

Call to a member function getSku() on a non-object in 
app/code/core/Mage/Catalog/Model/Product/Type/Configurable.php

这是主要原因之一,我们始终要求我们的客户将Magento升级到最新版本,因为此问题已在1.6.1.0中修复。无论如何要纠正此问题,我们将Configurable.php复制到app / code / local / Mage / Catalog / Model / Product / Type /中,并将其更改为如下所示:

//$simple_sku = $simpleOption->getProduct($product)->getSku();
$optionProduct = $simpleOption->getProduct($product);
if ($optionProduct) {
    $simple_sku = $simpleOption->getProduct($product)->getSku();
}

希望本文对您有所帮助。请留下您的评论,让我们知道您的想法?谢谢。

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论