我最近获得了Magento 360视图图像的扩展。部分扩展为后端的产品添加了一个字段,要求输入文件夹名称。我正在尝试编写一些代码,这些代码将为大量产品设置此属性。到目前为止,我已设法使用以下代码读取该属性:
$productSKUs = array(102);
$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*');
$products->addAttributeToFilter( 'sku', array( 'in' => $productSKUs) );
foreach($products as $product)
{
$prouductInfo = $product->getAttributes();
$objFolderName = $prouductInfo['imagecreator_obj_folder']->getFrontend()->getValue($product);
echo $objFolderName;
}
但是我找不到如何将属性设置为新值。
如果我想做的事情是可能的,那么任何建议都会受到赞赏。
谢谢, 亚当
答案 0 :(得分:0)
Can you try :
foreach($products as $product)
{
$product->setImagecreatorObjFolder('newValue')->save();
//OR
$product->setData('imagecreator_obj_folder','newValue')->save();
// If this not work, try one more option, load product and then save its value which is demonstrated below
$productData = Mage::getModel('catalog/product')->load($product->getId());
$productData->setData('imagecreator_obj_folder','newValue')->save();
}
答案 1 :(得分:0)
Magento通过EAV模型背后的规则将属性表与产品表联系起来,因此首先要做的就是像往常一样将产品放入循环中。
$product= Mage::getModel('catalog/product');
然后
$product->setData('imagecreator_obj_folder', 'newValue')->getResource()->saveAttribute($product, 'imagecreator_obj_folder');
您可以像处理一样将此逻辑插入到集合中。