Magento-调用未定义的方法Mage_Catalog_Model_Product_Type_Simple::GetConfigurableAttributeSarray

Magento-调用未定义的方法Mage_Catalog_Model_Product_Type_Simple::GetConfigurableAttributeSarray,magento,configurable-product,Magento,Configurable Product,当我使用/app/code/local/Mage/Catalog/Model/Convert/Adapter/Productimport.php中的saveRow方法点击可配置产品时,出现以下错误: [05-Jul-2011 18:12:32] PHP Fatal error: Call to undefined method Mage_Catalog_Model_Product_Type_Simple::getConfigurableAttributesAsArray() in /home/

当我使用
/app/code/local/Mage/Catalog/Model/Convert/Adapter/Productimport.php中的
saveRow
方法点击可配置产品时,出现以下错误:

[05-Jul-2011 18:12:32] PHP Fatal error:  Call to undefined method Mage_Catalog_Model_Product_Type_Simple::getConfigurableAttributesAsArray() in /home/gp/public_html/app/code/local/Mage/Catalog/Model/Convert/Adapter/Productimport.php on line 107
我的问题与我在网上遇到的其他人稍有不同,可能是因为我在调用
saveRow()
,这是从我自己的脚本生成并维护一个产品列表,该列表通过xml提要从我的供应商处下载到一个临时数据库中,然后使用magento在我的网站目录中添加或更新它们

require_once($_SERVER['DOCUMENT_ROOT']."/app/code/local/Mage/Catalog/Model/Convert/Adapter/Productimport.php");
$MageProducts = new Mage_Catalog_Model_Convert_Adapter_Productimport();
...
...
foreach($products as $product) {
    $result = $MageProducts->saveRow($product);
}
第一次点击可配置产品时,我会出现此错误,但如果我立即点击“刷新”,脚本将从该产品开始一直运行到最后,并在途中传递许多简单/可配置的产品集,而不会失败

ProductImport.php的第107行是这一行

$cspa  = $product->getTypeInstance()->getConfigurableAttributesAsArray($product);
由于某种原因,
$product->getTypeInstance
正在返回
Mage\u Catalog\u Model\u product\u Type\u Simple
,但这只是会话中的第一次

如果我在这一行之前添加
print\r($product->getTypeInstance())
,我会得到一个可配置产品的以下信息

Mage_Catalog_Model_Product_Type_Simple Object ( [_product:protected] => Mage_Catalog_Model_Product Object ( [_cacheTag:protected] => catalog_product [_eventPrefix:protected] => catalog_product [_eventObject:protected] => product [_canAffectOptions:protected] => [_typeInstance:protected] => Mage_Catalog_Model_Product_Type_Simple Object *RECURSION* [_typeInstanceSingleton:protected] => Mage_Catalog_Model_Product_Type_Configurable Object ( [_usedProductAttributeIds:protected] => _cache_instance_used_product_attribute_ids....
这显然是错误的


我希望能够通过cron使用我的脚本,但这个错误阻止了我这样做,因此我迫切需要一些帮助来修复-有人能提供一些建议吗?

我知道很久以前就有人问过这个问题,但对于将来面临此问题的任何人来说仍然如此。我几乎挣扎了一个星期,尝试了在互联网上找到的不同解决方案。最后,问题是我有一个简单的产品,其sku与我尝试导入的可配置产品相同。

在此之前:

$product->getTypeInstance()->getConfigurableAttributesAsArray($product);
$product->getTypeInstance()->getConfigurableAttributesAsArray($product);
选中
$product->isConfigurable()。如果是,则仅运行: