尝试用PHP脚本更新magento中的URL键时出错


Getting Error When Trying TO Update URL keys in magento with PHP script

我正在尝试更新magento中的URL密钥,以将URL密钥设置为与产品名称相同。我试着使用我在网上找到的以下脚本。

<?php
require 'app/Mage.php';
Mage::app();
$amount = 0;
$model = Mage::getModel('catalog/product');
$products = $model->getCollection();
foreach ($products as $product) {
    $model->load($product->getId());
    $product->setUrlKey($model->getName())->save();
    set_time_limit();
    $amount++;
}
?>

然而,我遇到了以下错误:

Fatal error: Call to a member function getAttributeCode() on a non-object in 
/home/replaysp/public_html/app/code/core/Mage/Catalog/Model/Product/Type/Configu
rable.php on line 404

这也是这个错误所指向的代码行:

$this->getProduct($product)->setData($attribute->getProductAttribute()
    ->getAttributeCode(), null);

你知道为什么会这样吗?

提前感谢!

尝试是否有效(免责声明:未测试):

$model = Mage::getModel('catalog/product');
$products= Mage::getResourceModel('catalog/product_collection');
foreach ($products as $product) {
    $model->load($product->getId());
    $product->setUrlKey($model->getName());
    $product->getResource()->save($product);
    set_time_limit();
    $amount++;
}