作为项目的一部分,我必须在 magento 中实现一个颜色网格。也就是说,用户必须找到特定颜色的产品。用户将从网格中选择一种颜色,该特定颜色或类似颜色的所有产品将显示为输出。
我通过提取和存储产品的主色并使用算法检索产品来实现它。
但无法为用户选择的颜色检索许多产品。问题是我们只能传递一个颜色代码(例如“#000000”)作为用户选择,但存储在数据库中的颜色可能是所选颜色的任何变体,因此不可能获得许多产品作为结果。
如果有人实现了这样的功能,请向我提供您的建议。
作为项目的一部分,我必须在 magento 中实现一个颜色网格。也就是说,用户必须找到特定颜色的产品。用户将从网格中选择一种颜色,该特定颜色或类似颜色的所有产品将显示为输出。
我通过提取和存储产品的主色并使用算法检索产品来实现它。
但无法为用户选择的颜色检索许多产品。问题是我们只能传递一个颜色代码(例如“#000000”)作为用户选择,但存储在数据库中的颜色可能是所选颜色的任何变体,因此不可能获得许多产品作为结果。
如果有人实现了这样的功能,请向我提供您的建议。
如果我正确理解了这个问题,您可以使用 mysql 语法CONV(hex_val, 16, 10)
将任何十六进制数(例如颜色代码)转换为十进制数,然后使用 between 条件进行选择,例如:
SELECT `prod_id` FROM `products` WHERE CONV(`color`, 16, 10) BETWEEN {$color_range_start} AND {$color_range_end}
这是来自记忆和语法需要更正,但你明白了。将产品 ID 放入数组后,您可以使用标准的 Magento 函数来获取基于此的产品集合。