2011-12-12 58 views
0

我想弄清楚我可能如何做到这一点 - 可能在mysql数据库中,但我不确定涉及的所有表,所以不敢进一步?Magento 1.4.0.1创建并填充几乎所有产品的新属性值

我已经为defaul属性集添加了一个名为“condition”的属性。 我需要为每个产品填充该属性值,但是如果我尝试使用管理表单批量更新它们,管理系统会要求我填写许多其他属性。这是不可能发生的,因为显然每个产品的“描述”都是不同的。

那么,有人能告诉我如何为我的数据库中的每个产品填充值“new”的属性值?

实际上,我可以为需要不同“使用”值的产品数量更改此属性值,但如果可以在SKU上过滤更新,则可以使其正常工作。我认为!

回答

0

编程方法是将以下脚本保存到Magento文件夹中,并通过直接访问地址来执行它。它可能很慢,但不管它是否只运行一次,然后再删除都无关紧要。

<?php 

require 'app/Mage.php'; 
umask(0); 
Mage::app(); 

$products = Mage::getResourceModel('catalog/product_collection'); 
foreach ($products as $product) { 
    // replace IS_NEW with a test perhaps using $product->getSku() 
    $product->setCondition(IS_NEW ? 'new' : 'used') 
      ->save(); 
} 
+0

感谢你 - 伟大的东西! – robgt

0

不是一个编程答案,所以也许不适合堆栈溢出,但有一些解决方法。

您可以将所有产品导出到Excel,一次批量更新多行,然后重新导入。如果您有许多产品,请使用Magmi

有一些扩展可以让你一次更新许多属性。这Mass Actions是昂贵的,但让你知道什么可能可用,如果你搜索。

尽管我厌恶用于Web服务的桌面应用程序,但有专门用于批量操作的Store Manager

+0

谢谢,我可以肯定地使用其他的东西大规模行动。我会看看它是否有助于解决这个问题。如果没有,我需要在数据库级别找出结构,并按照我的猜测。感谢指针! – robgt