0
我想追加一个类别id到Magento 1.7中的大量SKU。我使用了Import> Append Complex Data,虽然它检查了文件并运行正常,但没有将这些SKU添加到我想要的类别中。Magento 1.7追加复杂数据
因此,目标是将所有这些SKU保留在现在有类别,但增加了一个类别。
任何帮助,将不胜感激。即使它完全是一种不同的方法。
我想追加一个类别id到Magento 1.7中的大量SKU。我使用了Import> Append Complex Data,虽然它检查了文件并运行正常,但没有将这些SKU添加到我想要的类别中。Magento 1.7追加复杂数据
因此,目标是将所有这些SKU保留在现在有类别,但增加了一个类别。
任何帮助,将不胜感激。即使它完全是一种不同的方法。
做到这一点,最快的方法就是直接将这个作为使用SQL查询:
INSERT INTO `catalog_category_product` (
`category_id` ,
`product_id` ,
`position`
)
VALUES (
'4', '34', '0'
), (
'4', '35', '0'
);
在这种情况下,这将增加的类别ID 4的产品识别码34和35.你可以创建一个小的PHP脚本,以便从您的SKU和类别ID文件中动态创建这样的查询。 查询成功执行后的重新索引。
另外,使用Magento的生态系统,而不是数据库,你可以这样做:
$categoryIds = array();
$toBeUpdatedProducts = array(4,6,7); // all the Ids you want to update
$newCategoryId = 65; // Id of new category
foreach ($toBeUpdatedProducts as $productId) {
$product = Mage::getModel('catalog/product')->load($productId);
$categoryIds = $product->getCategoryIds();
$categoryIds[] = $newCategoryId; // Add new category to existing ones
$product->setCategoryIds($categoryIds);
$product->save();
}
通过直接的SQL脚本操作数据始终是一个糟糕的主意,当你有一个CRUD一个良好的ORM系统提供(这是Magento的情况)。 –
@JernejGolja我不同意,至少总是这个词。通常,这是一个坏主意。但是,在某些情况下,当您处理大量数据时,整个ORM系统的开销会对简单操作的速度造成破坏性影响。 – mpaepper
@JernejGolja为完整性添加了非数据库方式 – mpaepper