2013-03-07 94 views
0

我正在构建新的Magento商店,并希望通过查询创建产品类别,而无需手动将每个产品添加到该类别。例如,我想创建一个标题为“Small Shirts”的类别,该类别会自动显示所有具有“Small”属性大小的产品。或者创建另一个名为“红色衬衫”的类别,其中显示标题中包含“红色”一词的所有产品。无论如何要自动执行此操作,以便我不需要手动将每个产品添加到该类别中?在Magento中按照搜索查询和/或产品属性包含产品

回答

1

做这样的事情

$products = array(); 
$collection = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('size','small')->getAllIds(); 
foreach ($collection as $c){ 
     $products[$c]='0'; // 0 is the position, you can change this here if you want. 
} 
$category = Mage::getModel('catalog/category')->load(YOURID); 
$category->setPostedProducts($products)->save(); 

当然,你可以结合并创建类别,而不是加载它,如果你的脚本应该之前创建类别与产品填补他们。

+0

感谢您的回复。有没有办法从Magento管理员那里做到这一点(不处理代码),它会自动包含任何具有set属性的新产品?我很惊讶,我一直无法找到任何可以提供这种相当简单功能的工作插件。 – 2013-03-08 13:22:04

+0

不,在后端,只能使用产品网格中的现有列(在类别产品的类别版本页面中)执行此操作。 但是你可以覆盖这个网格,让更多的列可以过滤,但它不会自动。您需要在新类别中手动设置新产品。 – dagfr 2013-03-08 16:32:13