我最近在Magento中得到了一个360视图图像的扩展。扩展的一部分向后端的products添加了一个字段,该字段要求输入文件夹名称。我正在尝试编写一些代码来为大量产品设置此属性。到目前为止,我已经使用以下代码成功读取了该属性:
$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;
}但是,我找不到如何将该属性设置为新值。
如果我正在尝试做的事情是可能的,任何建议都将不胜感激。
谢谢,亚当
发布于 2015-11-06 20:46:26
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();
}发布于 2015-11-08 23:19:10
Magento通过EAV模型背后的magistery将属性表与产品表联系起来,因此首先要做的就是像您所做的那样将产品放入循环中。
$product= Mage::getModel('catalog/product');然后
$product->setData('imagecreator_obj_folder', 'newValue')->getResource()->saveAttribute($product, 'imagecreator_obj_folder');您可以像以前一样将此逻辑插入到集合中。
https://stackoverflow.com/questions/33565130
复制相似问题