Минимальная и максимальная цена ищется для всех категорий, которые вложены в эту категорию. В некотороых шаблонах на родительской категории можно скрыть отображение товаров. По идее, товаров не будет на странице категории вернего уровня. Но по факту, листая дочерние категории где-то там встретится товар с той самой минимальной или максимальной ценой.
Внимание!
До версии 3.6.12 вычисление значения [max_price] было логически неверным. С учетом, что до версии V3.6.8 никто не сообщал об ошибке в исполнении кода, можно сделать предположение, что этой переменной мало кто пользуется. Тем не менее, для тех, кто пользуется, информация об исправлении ошбики будет крайне важной!
Для вычисления минимальной и максимальной цены используется запрос через сортировку с ограничением выборки (ORDER BY price ASC + LIMIT) вместо функций MIN() и MAX(). Мне нужно дополнительное поле product_id для сравнений базовых цен товаров со скидами и акциями. MIN() и MAX() дополнительных полей не выдают ?
Внимание!
Правильная сортировка скидок и акций, чтобы они выдали то же, что выдает сам OpenCart в списке товаров: ORDER BY pd.priority ASC, pd.price DESC
xx.priority ASC - всегда должно идти первым, и всегда быть имеено от меньшего к большему, независимо от того, минимальную или максимальную цену ищем.
То есть, во главу угла ставится приоритет скидки или акции, а потом цена.
0 - наивысший приоритет