Перейти к содержанию
Форум поддержки пользователей VamShop

Спецификация и цены


Рекомендуемые сообщения

Можно ли настроить спецификации таким образом, чтобы был фильтр "цена" и был диапазон с шагом в 500. Например: 0 - 500, 500 - 1000, 1000 - 1500, 1500 - 2000 грн ? Но чтобы данные о цене брались из БД, чтобы руками каждому товару не писать конкретный фильтр (это жутко не удобно, особенно, если учитывать, что цена товаров может менятся).

Ссылка на сообщение
Поделиться на другие сайты

Если я правильно понял, о чём речь.

Тогда ответ - да, можно.

Вот я писал как это делается - http://vamshop.ru/forum/topic/9714-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D1%8B-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2/page__p__79351#entry79351

Ссылка на сообщение
Поделиться на другие сайты

Сделал фильтр - Сортировка по цене.

Класс фильтра - Диапазон

Использовать существующее поле - Цена

Создал значения для фильтра:

50

100

150

Да. Это работает. Спасибо!

Ссылка на сообщение
Поделиться на другие сайты

Самое главное забыл спросить)))

А чтобы этот фильтр Цены был составной можно сделать?

например, выбрали: 100, 150 и 200, в итоге фильтрует нам по цене от 100 до 200.

Ссылка на сообщение
Поделиться на другие сайты

Судя по первому вопросу, Вам как раз диапазон подходит.

Не знаю, попробуйте составной.

Ссылка на сообщение
Поделиться на другие сайты

Не знаю, я могу лишь сказать, что в документации довольно подробно описаны фильтры, добавить к этому особо и нечего.

Ссылка на сообщение
Поделиться на другие сайты

Тогда вопрос к комьюнити.

У кого нить получалось сделать составной фильтры для цены, чтобы данные о цене брались из базы данных??

Ссылка на сообщение
Поделиться на другие сайты

Тогда вопрос к комьюнити.

У кого нить получалось сделать составной фильтры для цены, чтобы данные о цене брались из базы данных??

http://mir-m.com/shkaphy.html

Ссылка на сообщение
Поделиться на другие сайты

интересный запрос получается :)

f1=980+-+9079[/CODE]

Дык, Ковальски, как у вас получилось это сделать? Просвятите нуба плиз :(

Ссылка на сообщение
Поделиться на другие сайты

Диапазон , текст, текст в настройках фильтра

+ что бы все окончательно хорошо работало добавьте 2 значения 1 и 1000000. и у меня все ок. только я ж через Jquery ползунок то делал

Ссылка на сообщение
Поделиться на другие сайты
  • 3 months later...

а реально ли вообще организовать работу фильтра чтобы он фильтровал "специальну цену" (со скидкой)?

например есть товар, стоимость которого 8000руб, скидка на него 50%. чтобы при выборе фильтра цены 3000-5000 попадал этот товар, а не в фильтр, к примеру "5000+".

Ссылка на сообщение
Поделиться на другие сайты

а реально ли вообще организовать работу фильтра чтобы он фильтровал "специальну цену" (со скидкой)?

например есть товар, стоимость которого 8000руб, скидка на него 50%. чтобы при выборе фильтра цены 3000-5000 попадал этот товар, а не в фильтр, к примеру "5000+".

да. нужно SQL запрос править и добавлять условия

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...

мдааа.. пришлось почесать репу. решение нашёл, но это откровенный костыль. 

 

почему фильтры, которые отбирают товары по цене, не учитывают скидки - непонятно.

 

кому интересно, вот моё решение.

 

в файле /products_filter.php

в запросе, который начинается на

$listing_sql .= "select distinct p.products_id,

изменить

" . $sql_array['where'] . "

на

" . str_replace('products_price', 'IF(s.status, s.specials_new_products_price, p.products_price)', $sql_array['where']) . "

попутно можно научить сортировать по цене с учётом скидки

$sorting = ' ORDER BY '.$sorting_data['products_sorting'].' '.$sorting_data['products_sorting2'].' ';

меняем на

$sorting = ' ORDER BY '.str_replace('p.final_price', 'final_price', str_replace('products_price', 'final_price', $sorting_data['products_sorting'])).' '.$sorting_data['products_sorting2'].' ';

вот тут, кому интересно, почему дважды делается замена, объясню. в значение массива $sorting_data['products_sorting'] приходит как "products_price", так и "p.products_price", хотя в данном случае префикс не принципиален. проскользнула мысль посмотреть как устроена функция my_sorting_products, которая по идее возвращает эти данные, но так подумал, если уж это менять то надо избавляться от самого костыля, так что оставил вот так как написал.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...