Сортируем атрибуты по цене (vamshop)

20.04.2016 | Написал

Атрибуты в вамшопе по умолчанию сортируются в порядке, который мы назначаем при установке этих самых атрибутов у каждого товара.
Это не очень удобно. В случае, если у нас есть атрибуты с плюсом цены, например, матрас в разных размерах, удобно установить сортировку именно от цены. Тогда про сортировку у каждого товара уже можно не вспоминать. Делаем это так:

Открываем файл incluides/modules/product_attributes.php. В sql-запросе:

$products_options_query = vamDBquery("select pov.products_options_values_id,
		                                                 pov.products_options_values_name,
		                                                 pov.products_options_values_description,
		                                                 pov.products_options_values_text,
		                                                 pov.products_options_values_image,
		                                                 pov.products_options_values_link,
		                                                 pa.attributes_model,
		                                                 pa.options_values_price,
		                                                 pa.price_prefix,
		                                                 pa.attributes_stock,
		                                                 pa.attributes_model
		                                                 from ".TABLE_PRODUCTS_ATTRIBUTES." pa,
		                                                 ".TABLE_PRODUCTS_OPTIONS_VALUES." pov
		                                                 where pa.products_id = '".$product->data['products_id']."'
		                                                 and pa.options_id = '".$products_options_name['products_options_id']."'
		                                                 and pa.options_values_id = pov.products_options_values_id
		                                                 and pov.language_id = '".(int) $_SESSION['languages_id']."'
		                                                 order by pa.sortorder");

меняем последнюю строку order by pa.sortorder»); вот так:

$products_options_query = vamDBquery("select pov.products_options_values_id,
		                                                 pov.products_options_values_name,
		                                                 pov.products_options_values_description,
		                                                 pov.products_options_values_text,
		                                                 pov.products_options_values_image,
		                                                 pov.products_options_values_link,
		                                                 pa.attributes_model,
		                                                 pa.options_values_price,
		                                                 pa.price_prefix,
		                                                 pa.attributes_stock,
		                                                 pa.attributes_model
		                                                 from ".TABLE_PRODUCTS_ATTRIBUTES." pa,
		                                                 ".TABLE_PRODUCTS_OPTIONS_VALUES." pov
		                                                 where pa.products_id = '".$product->data['products_id']."'
		                                                 and pa.options_id = '".$products_options_name['products_options_id']."'
		                                                 and pa.options_values_id = pov.products_options_values_id
		                                                 and pov.language_id = '".(int) $_SESSION['languages_id']."'
		                                                 order by pa.options_values_price");

После этого атрибуты будут начинаться со значения с наименьшей ценой и возрастать по мере ее увеличения.

Метки:
Комментарии читателей статьи "Сортируем атрибуты по цене (vamshop)"

Нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.