作为项目的一部分,我必须在magento中实现颜色网格。也就是说,用户必须找到特定颜色的产品。用户将从网格中选择一种颜色,该特定颜色或类似颜色的所有产品将显示为输出。
我通过提取和存储产品的主色并使用算法检索产品来实现它。
但无法检索用户选择的颜色的许多产品。问题是我们只能传递单个颜色代码(比如'#000000')作为用户选择,但存储在数据库中的颜色可能是所选颜色的任何变体,因此不可能得到许多产品。
如果有人实施了这样的功能,请将您的建议更新给我。
答案 0 :(得分: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函数来获取基于此的产品集合。