2012-10-08 27 views
1

作为一个项目的一部分,我必须在magento中实现一个颜色网格。也就是说,用户必须找到特定颜色的产品。用户将从网格中选择一种颜色,该特定颜色或类似颜色的所有产品将显示为输出。在magento中实现colorgid

我通过提取和存储产品的主色并使用算法检索产品来实现它。

但无法检索用户选择的颜色的许多产品。问题是,我们只能传递一个颜色代码(如'#000000')作为用户选择,但存储在数据库中的颜色可能是所选颜色的任何变体,因此不可能获得许多产品作为结果。

如果有人执行了这样的功能,请更新我的建议。

+0

你有没有看到这个问题http://stackoverflow.com/questions/1678457/best-algorithm-for-matching-colours? – Zyava

回答

0

如果我理解正确的问题,你可以使用mysql语法CONV(hex_val, 16, 10)转换任何十六进制数,如颜色代码为十进制,然后与条件之间进行选择,如:

SELECT `prod_id` FROM `products` WHERE CONV(`color`, 16, 10) BETWEEN {$color_range_start} AND {$color_range_end} 

这是内存和语法需要更正,但你明白了。将产品ID获取到数组后,您可以使用标准的Magento函数来获取基于该产品的产品集合。