Magento updateAttributes在自己的模块IndexController 中不起作用



我已经创建了自己的模块,并想调用updateAttributes方法:

Mage::getSingleton('catalog/product_action') ->updateAttributes(array($product_id), array('sku','123'), 0);

我收到以下错误:致命错误:在 [...] 中的非对象上调用成员函数 getAttributeId()/httpdocs/app/code/core/Mage/Catalog/Model/Resource/Product/Action.php 在第 69 行

如何访问此方法?提前非常感谢!

在更新产品属性时,传统方法如下:

<?php
//Load the Product
$product = Mage::getModel('catalog/product')->load($product_id)); //By ID
$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $oldSku);//By SKU
//Update product attributes via Setters
$product->setSku($newSku);
$product->setName('New product name');
$product->setShortDescription(addslashes("short description here."));
$product->setDescription(addslashes("long description"));
//Perform Save
$product->save();
?>

请查看以下内容作为另一个参考: Magento getSingleton() vs getModel() 问题

--更新--

仔细检查要传递的属性的数组语法。

<?php
Mage::getSingleton('catalog/product_action')
->updateAttributes(array(
$data['product_id']), 
array("sku" => $data['sku'], 'price' => $data['price']), 
$storeId);
?>

相关内容

  • 没有找到相关文章

最新更新