ehi*_*ime 7 api attributes magento skus
嘿伙计们,我错过了SKU/UPC对这个Bulk更新属性的SQL
运行EE1.10 FYI
我已经完成了所有其余代码,但我不确定实际更新属性的人/原因/原因,并且无法找到它们,我的逻辑是
这是我的(差不多完成的)代码,我非常感谢一些帮助.
/**
* FUNCTION: updateAttrib
*
* REQS: $db_magento
* Session resource
*
* REQS: entity_id
* Product entity value
*
* REQS: $attrib
* Attribute to alter
*
*/
Run Code Online (Sandbox Code Playgroud)
请参阅我对工作生产代码的回复.希望这有助于Magento社区的某些人.
Jos*_*ton 24
虽然这在技术上可行,但您编写的代码只是您应该执行此操作的最后一种方式.
在Magento中,您确实应该使用代码提供的模型,而不是自己编写数据库查询.
在您的情况下,如果您需要更新1个或多个产品的属性,有一种方法可以非常快速地(非常安全地)执行此操作.
如果您查看:/app/code/core/Mage/Adminhtml/controllers/Catalog/Product/Action/AttributeController.php,您会发现该控制器专用于快速更新多个产品.
如果你查看saveAction()函数,你会发现以下代码行:
Mage::getSingleton('catalog/product_action')
->updateAttributes($this->_getHelper()->getProductIds(), $attributesData, $storeId);
Run Code Online (Sandbox Code Playgroud)
此代码负责更新所需的所有产品ID,一次只更新任何一个商店的已更改属性.
第一个参数基本上是产品ID数组.如果您只想更新单个产品,只需将其放入数组即可.
第二个参数是一个数组,其中包含要为给定产品更新的属性.例如,如果您想将价格更新为10美元并将权重更新为5,则可以传递以下数组:
array('price' => 10.00, 'weight' => 5)
Run Code Online (Sandbox Code Playgroud)
最后,第三个也是最后一个属性是您希望这些更新发生的商店ID.这个数字很可能是1或0.
我会玩这个函数调用并使用它而不是编写和维护自己的数据库查询.