在Magento中设置前端属性



我最近得到了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;
}

但是,我找不到如何将属性设置为新值。

如果我想做的事情是可能的,任何建议都将不胜感激。

谢谢,Adam

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();
}

Magento通过EAV模型后面的magistery将属性表与产品表联系起来,所以要做的第一件事就是像您一直在做的那样将产品放入循环中。

$product= Mage::getModel('catalog/product');

然后

$product->setData('imagecreator_obj_folder', 'newValue')->getResource()->saveAttribute($product, 'imagecreator_obj_folder');

您可以像您所做的那样将此逻辑插入到集合中。

最新更新