Перейти к содержимому


Сложный Поиск


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 krandv

krandv

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 21 Апрель 2011 - 01:07

Добрый день.

Я планирую открыть интернет магазин Шины и Диски. Стандартным для такого интернет магазина является подбор товара по характеристикам шин/дисков, а также по модели автомобиля. Понятное дело, что для этого нужен отдельный модуль. Фронтенд думаю можно написать на js, но мне необходимо знать могу ли я как-то выбрать данные из базы, либо послав поисковый запрос из скрипта, либо настроив скриптом стандартный фильтр по характеристикам товаров, ну т.е. чтобы скрипт инициализировал существующий фильтр значениями (при этом желательно чтобы фильтр не отображался, т.е. использовался полностью мой ГУИ), или может быть есть какой-то другой способ? Как думаете такое возможно?

Обычное использование стандартных фильтров неудобно, т.к. похоже они видны только в категориях, т.е. я не могу расположить их в произвольном месте сайта. А также выбор по автомобилям обычным использованием стандартных фильтров не реализовать. Т.е. нужна какая-то надстройка.

#2 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 23 805 сообщений

Отправлено 21 Апрель 2011 - 19:01

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

#3 krandv

krandv

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 23 Апрель 2011 - 13:56

Я тикет написал, но думаю это займёт у вас какое-то время.

Я тут посидел, немного подумал и сделал надстройку на ДжаваСкрипте над вашей фильтрацией по товарам. Выкладываю код

Цитата

<script language="JavaScript">

/* тут будут хранится соответствие названии характеристики её коду для передачи скрипту поиска*/
var Widthes = new Object();
var Profiles = new Object();
var Diameters = new Object();

/* Переносим параметры из БД в массив JavaScript */
function InitParameters(param, id, name)
{
   if(  param == "Ширина" )
     Widthes[ id ] =  name;
  if(  param == "Профиль" )
     Profiles[ id ] =  name;
  if(  param == "Диаметр" )
     Diameters[ id ] =  name;
}

/* Модифицируем форму поиска, актуализируем её необходимыми кодами-коммандами для скрипта поиска*/
function params(form, width, profile, diameter)
{  
  form["param1"].value = "1";  
  form["param1"].name = Widthes[width];

  form["param2"].value = "1";  
  form["param2"].name = Profiles[profile];

  form["param3"].value = "1";  
  form["param3"].name = Diameters[diameter];
  
  
  form.submit();
}
</script>


<table>
    
<tr>
    <td>
Подбор шин по автомобилю

По-умолчанию ищутся шины с размерами 205/605/R16

<form action="" method="get">

<!--Переносим параметры из БД в массив JavaScript -->
{% FOR filter_attr_list %}
     {% FOR values %}
      <script language="JavaScript">  
          InitParameters( "{filter_attr_list.NAME}", "{filter_attr_list.values.VALUE}",  "form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]");
       </script>
     {% ENDFOR %}
{% ENDFOR %}

<!-- Шаблон формы, будем изменён при вызове функции params -->
<input type="hidden" name="param1">
<input type="hidden" name="param2">
<input type="hidden" name="param3">

<!-- Пока что жёсткий вызов, потом добавлю тут код по выбору марки и модели автомобиля и поиску значений
параметров дисков и шин в базе данных -->
<input type="button" value="Test" onClick="params(this.form, '205', '65', 'R16');">
  
</form>


Т.е. я сначала сохраняю имена, коды и значения характеристик из БД в массив JavaScript. Потом, если мне надо найти шины с определёнными характеристиками, я в форму записываю коды-комманды характеристик, выбирая их из этих массивов. Тут ещё отсутствует код по определению какой модели автомобиля какие характеристики соответствуют, т.е. предпоследняя строчка моего кода будет заменяться на дополнительный код, который будет отвечать за выбор модели, марки и т.п. БД будет реализована как текстовый файл, который будет читаться и парситься на том же JavaScript.

Интересует ваше экспертное мнение насколько это надёжно. Из слабых мест тут, как мне кажется:
1) Жёсткое использование имён характеристик "Ширина", "Профиль", "Диаметр". Но думается, если я не буду менять это в настройках категорий всё будет работать нормально

2) Вы можете неожиданно поменять скрипт на стороне сервера и форма начнёт работать по-другому.


В общем что вы всё об этом думаете? Имеет это право на существование?

#4 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 23 805 сообщений

Отправлено 23 Апрель 2011 - 19:59

Думаю - а почему бы и нет! Вполне имеет.
Думаю что движок не будет глобально меняться включая шаблонизатор и структуру форм. так что скрипт ваш будет жить.

#5 verbovoj

verbovoj

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 06 Июнь 2011 - 18:39

Помогите и мне с таким же фильтром! У меня магазин автодворников! Очень нужно! Подбор по марке и модели...готов платить!)

#6 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 23 805 сообщений

Отправлено 08 Июнь 2011 - 08:32

Данный скрипт является статическим. Т.е редактирование и добавление фильтра происходит через редактор шаблона. В общем если вас это устраивает то свяжитесь со мной по ЛС

#7 homelectric

homelectric

    Пользователь

  • Пользователи
  • PipPip
  • 20 сообщений
  • ГородМосква

Отправлено 12 Июнь 2011 - 10:38

Добрый день, у меня похожая задачка стоит по выбору детской одежды на сайте, мне нужно, чтобы на всех страницах была маленькая форма по выбору мальчик-девочка и рост. Как это можно реализовать?
ps: в модификациях рост указан у каждого товара, а девочка или мальчик разделено на уровне каталога разными папками. http://polosatyjkot.ru/goods/Жакет-1

Покопавшись, понял, что штатного фильтра пока хватит.
Получилось вот так: http://polosatyjkot....og/Весна-Лето-5

Сообщение отредактировал homelectric: 13 Июнь 2011 - 00:32


#8 Татьяна

Татьяна

    Пользователь

  • Пользователи
  • PipPip
  • 18 сообщений

Отправлено 16 Июль 2011 - 00:22

Я бы хотела вверху каталога включить фильтр по производителям.Как это можно сделать? Помогите пожалуйста!!! Нужно примерно такПрикрепленный файл  Презентация1.ppt   152,5К   131 Количество загрузок:

#9 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 23 805 сообщений

Отправлено 16 Июль 2011 - 20:27

У данного фильтра нет стандартной реализации, есть только пользовательская наработка. И она представлена полностью выше.

#10 rka11

rka11

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 62 сообщений

Отправлено 23 Июль 2011 - 11:24

Можно тоже получить подсказку как работать с фильтрами. Ситуация след-я: есть корнева категория (Санфаянс) и подкатегории (унитазы, раковины и т.д) У каждого товара в свойствах производитель, коллекция, вид и др. В подкатегориях фильтруются только производитель, вид и др. А хочется, чтобы в корневой тоже можно было сделать фильтрацию товаров из подкатегорий по производителю и коллекции. Т.е. результат фильтра - производитель Сантек коллекция Анимо: унитаз Анимо, раковина Анимо, пьедестал Анимо.
На данный момент фильтры у корневой категории (Санфаянс) назначены, но фильтр над папками подкатегорий не появляется.

#11 support

support

    Активный участник

  • Модераторы
  • 3 683 сообщений
  • ГородМосква

Отправлено 25 Июль 2011 - 17:31

Просмотр сообщенияrka11 (23 Июль 2011 - 11:24) писал:

Можно тоже получить подсказку как работать с фильтрами. Ситуация след-я: есть корнева категория (Санфаянс) и подкатегории (унитазы, раковины и т.д) У каждого товара в свойствах производитель, коллекция, вид и др. В подкатегориях фильтруются только производитель, вид и др. А хочется, чтобы в корневой тоже можно было сделать фильтрацию товаров из подкатегорий по производителю и коллекции. Т.е. результат фильтра - производитель Сантек коллекция Анимо: унитаз Анимо, раковина Анимо, пьедестал Анимо.
На данный момент фильтры у корневой категории (Санфаянс) назначены, но фильтр над папками подкатегорий не появляется.
Фильтры работают только по категории в которой назначены. Соответственно чтобы фильтры заработали в данной категории достаточно разместить в ней все товары, которые есть в подкатегориях. Фильтрация в этом случае будет работать как надо, но в центральной части сайта пропадут подкатегории из родительской категории, там будут отображаться товары. Сбоку в навигации все категории будут отображаться как прежде, без искажений.

#12 ais-83

ais-83

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 165 сообщений

Отправлено 07 Декабрь 2012 - 10:55

Добрый день, Уважаемые! Если можно, подскажите, как поместить фильтр вида: небольшая табличка-банер "Подобрать игру" и там условия: количество игроков, время, в подарок. В каждом условии еще подусловия: например, подарок, а подусловие - начальнику, другу, девушке и т.д.
Как и вообще, есть ли возможность подобное поместить в моем шаблоне (сияние)?
Играриум.рф

#13 support 2.0

support 2.0

    Активный участник

  • Модераторы
  • 4 924 сообщений

Отправлено 07 Декабрь 2012 - 11:12

Просмотр сообщенияais-83 (07 Декабрь 2012 - 10:55) писал:

Добрый день, Уважаемые! Если можно, подскажите, как поместить фильтр вида: небольшая табличка-банер "Подобрать игру" и там условия: количество игроков, время, в подарок. В каждом условии еще подусловия: например, подарок, а подусловие - начальнику, другу, девушке и т.д.
Как и вообще, есть ли возможность подобное поместить в моем шаблоне (сияние)?
Играриум.рф

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




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных