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


Делаем развесистый фильтр товаров (обкатка, написание, дополнения)


  • Вы не можете ответить в тему
Сообщений в теме: 469

#81 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 05 April 2012 - 09:28 PM

Поставил этот фильтр, вроде все пучком, правда вот эти радиокнопки меня конечно заводят в заблуждение, да я думаю не только меня...... но раз автору захотелось такую путаницу, то пусть будет это фишка автора )))) кому нада переделает под себя.

Значит встал вопрос чтобы этот фильтр выводился и на главной странице. Не знаю может решение не самое правильное )) но зато самое простое.

Открываем файл advanced_search_in_category.php и в первую строчку добавляем код:
if ($_GET["categoryID"] == "") {$_GET["categoryID"] = 1;}

:) все. Теперь фильтр есть и на главной и на других страницах за пределами каталога. А главное он работает (!!!). Ну а badysoft низкий поклон.
  • 0

#82 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 05 April 2012 - 09:54 PM

Упс.... теперь из-за этой строчки не работает обычный поиск. Чичас будем разбираться.

Значит опять же не знаю насколько верное решение, но разбираться особо некогда, благодаря включению отображения ошибок понял в чем проблема и почему не работает поиск. Оказывается дублируются функции
_getUrlToNavigate()
_getUrlToSort()
_sortSetting( &$smarty, $urlToSort )

в category.php ив search_simple.php

и т.к. ситуации когда categoryID уже собственно быть не может, значит используется функции в category.php. (По крайней мере если фильтр отображается на всех страницах, другого варианта я не проверял).
Короче заходим в search_simple.php и просто удаляем эти 3 функции.
  • 0

#83 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 11:48 AM

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

Автору совешенно по барабану, что туда поставить, хоть радиобаттоны, хоть чекед-боксы, хоть просто кнопки. Там так устроено, что отличия этих трех вариантов не используются, только сам факт клика, по которому и происходит обработка. А радибаттоны выбраны только потому, что они традиционно означают выбор "один вариант из множества". Предложи другой вариант - я сделаю по другому. Радиобаттоны тут поставлены не совсем по месту, т.е., скорее, как "меньшее из зол". У меня была мысль поставить туда тоже чекед-боксы, но показалось еще более некрасивым решением.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#84 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 11:50 AM

А вообще мне все больше нравится фильтр от nix.ru
Думаю, что я и этот переделаю под тот стиль, он занимает куда меньше места при большом количестве вариантов харатеристик.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#85 Mixaskin

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

  • Пользователи
  • PipPip
  • 15 сообщений
Репутация: 0
Начинающий
  • ГородДнепродзержинск

Отправлено 06 April 2012 - 01:43 PM

Если бы еще при установке первой галочки происходил мгновенный отбор (выбор параметров, которые не соответствуют первой галке становится невозможным) с предоставлением для выбора вариантов, которые еще могут быть отобраны - как на розетке: http://rozetka.com.u...reset=netbooks/

и вот еще такой вопрос (для меня пока из области фантастики...) - возможно ли поставить данный фильтр на уже существующий магазин, в котором находится порядка тысячи товаров (характеристики и их параметры у каждого товара присутствуют в виде таблиц - были скопированы вручную из ворда и добавлены в подробное описание товара), и если таковое чудо возможно, чтобы фильтр из этих самых таблиц брал характеристики и параметры?
з.ы. прошу особо не пинать новичка :)
  • 0

#86 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 06 April 2012 - 01:44 PM

Автору совешенно по барабану, что туда поставить, хоть радиобаттоны, хоть чекед-боксы, хоть просто кнопки. Там так устроено, что отличия этих трех вариантов не используются, только сам факт клика, по которому и происходит обработка. А радибаттоны выбраны только потому, что они традиционно означают выбор "один вариант из множества". Предложи другой вариант - я сделаю по другому. Радиобаттоны тут поставлены не совсем по месту, т.е., скорее, как "меньшее из зол". У меня была мысль поставить туда тоже чекед-боксы, но показалось еще более некрасивым решением.


Да нет, тебе и так громаднейший респект за такую отличную основу, и вообще за то что поднял этот вопрос с реализацией фильтра (я почти 2 года об этом думал, но скорее всего еще 2 года так и бы и не нашел бы возможности заняться, учитывая что острой необходимости и не было.). А теперь все просто чудно, вчера впервые опробовал его. Полюбоваться можно тут. http://vse-zavesy.ru/shop/ . (верхний блок) Правда мой верстальщик его немного модифицировал..... имитировал выпадающие мультиселекты (которых в природе не бывает).

А на счет "предложи другой вариант" зачем? :) так как мне надо я сам переделаю, меня предоставленный вариант (любой) так что пусть другие делают "предложения".

Единственное что мне хотелось это чтобы он работал на всех страницах. И похоже что я это решил.
  • 0

#87 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 06 April 2012 - 01:49 PM

з.ы. прошу особо не пинать новичка


Если бы еще при установке первой галочки происходил мгновенный отбор (выбор параметров, которые не соответствуют первой галке становится невозможным) с предоставлением для выбора вариантов, которые еще могут быть отобраны - как на розетке: http://rozetka.com.u...reset=netbooks/

Этот вопрос уже подымался, на счет мгновенного отбора - это может и перебор, т.к. это наверное существенно увеличит нагрузку, и замедлит работу фильтра, особенно если товаров много в результате, а вот "отсечение пустых" было бы здорово, но это наверное не скоро. )))

возможно ли поставить данный фильтр на уже существующий магазин, в котором находится порядка тысячи товаров (характеристики и их параметры у каждого товара присутствуют в виде таблиц - были скопированы вручную из ворда и добавлены в подробное описание товара), и если таковое чудо возможно, чтобы фильтр из этих самых таблиц брал характеристики и параметры?

и вот еще такой вопрос (для меня пока из области фантастики...)


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

#88 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 02:57 PM

Правда мой верстальщик его немного модифицировал..... имитировал выпадающие мультиселекты (которых в природе не бывает

Это и есть как раз так, как я хочу переделать. Т.е. как у NIX-а, но у NIX-а для мультивыбора надо сначала выбрать выпадающий пунт "мультивыбор" в менюхе, а это совершенно лишнее действие.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#89 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 03:08 PM

возможно ли поставить данный фильтр на уже существующий магазин

Он на "существующий" и ставится, ведь описаны действия по ИЗМЕНЕНИЮ существующих файлов. Только filter.tpl.html я в конце-онцов стал приводить целиком, т.к. там изменений уже больше, чем исходного содержания, да и разбросаны они по всем файлу.

если таковое чудо возможно, чтобы фильтр из этих самых таблиц брал характеристики и параметры?

Зачем менять существующую логику работы CMS там, где можно обойтись без этого?
У меня на тестовом сайте было ровно так же, т.е. было напасерно около двухсот товаров без характеристик, но с четкой HTML-структурой описания товара, где эти харатеристики и их значения выделены совершенно однозначными тэгами. Хатем понадобились характеристии, когда я пепередывал этот фильтр.

Я просто скинул весь товар в CSV-файл и написал маленькую программку на PHP, которая брала поле "Краткое описание товара", вылавливала оттуда все характеристики, сортировала-чистила их и прописывала в тот же CSV в штатные поля "Дополнительные характеристики". Затем этот CSV был загружен обратно и все товары оказались с десятью-двадцатью честными нормальными "Характеристиками товара".
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#90 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 06 April 2012 - 03:32 PM

Это и есть как раз так, как я хочу переделать.

Скинуть исходник?
  • 0

#91 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 04:14 PM

Скинуть исходник?

Да, конечно. Всегда ж полезно решение более опытного человека посмотреть прежде, чем делать свое.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#92 yura

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

  • Assistent vsupport.club
  • PipPipPip
  • 82 сообщений
Репутация: 0
Начинающий

Отправлено 06 April 2012 - 11:21 PM

А вообще мне все больше нравится фильтр от nix.ru
Думаю, что я и этот переделаю под тот стиль, он занимает куда меньше места при большом количестве вариантов харатеристик.

А мне больше Ваш вариант нравится :)
Может быть, добавите в него (очень, очень нужно) -

1. есть характеристика по которой не нужно фильтровать товар - можно ее в фильтре не показывать, отключать через админку
2. есть характеристика (цвет) у которой больше ста возможных значений - можно ли для нее произвольную строку в фильтр вставить (вместо чек-боксов)
  • 0

#93 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 06 April 2012 - 11:33 PM

Это и есть как раз так, как я хочу переделать. Т.е. как у NIX-а, но у NIX-а для мультивыбора надо сначала выбрать выпадающий пунт "мультивыбор" в менюхе, а это совершенно лишнее действие.

о да... это вообще фигня какая-то у них, это же не очевидно..... я даже после твоего сообщения недопер какже там выбрать несколько характеристик ))))

А мне больше Ваш вариант нравится

Мне тоже

1. есть характеристика по которой не нужно фильтровать товар - можно ее в фильтре не показывать, отключать через админку

Ну кустарный выход для этого тоже есть, можно в шаблоне спрятать отображение этой характеристики, хотя добавить галку в админку и поле в БД тоже не сложно.
  • 0

#94 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 11:35 PM

Может быть, добавите в него (очень, очень нужно)

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

Если оно и правда "очень, очень нужно", то заплатите денег тому, кто занимается этим на коммерческой основе или разберитесь сами, это не сложно, просто время некоторое потратить. Другого выхода я не вижу.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#95 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 06 April 2012 - 11:39 PM

А как на счет, того чтобы отсеивались "пустые" характеристики?
Поднимался этот вопрос не один раз, т.е. выбрал производителя и остались х-ки только тех товаров, которые есть.
badisoft, хотябы в несрочных в планах есть реализация этого?
  • 0

#96 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 11:44 PM

Ну кустарный выход для этого тоже есть, можно в шаблоне спрятать отображение этой характеристики, хотя добавить галку в админку и поле в БД тоже не сложно.

Нафиг добавлять поля? :)
Из админки никуда не делись галочки у доп.характеристик, которые в свойствах категории. Просто я их не использую, в чем и была стартовая задача этого фильтра. Ничто не мешает теперь эти галочки использовать как-то по другому или вообще наоборот :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#97 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 11:50 PM

badisoft, хотябы в несрочных в планах есть реализация этого?

Ну только если в очень несрочных. А в реальности - на уровне "сделать макет и убедиться, что для нормальной работы такой фишки надо и серверную мощность как у вашей Розетки или нашего Яндекса". Т.е. я, возможно, когда-нибудь этим озадачусь, но, подозреваю, что это будет только для того, чтобы забить первый и последний гвоздь в крышку этой идеи. Не вижу я умозрительно перспектив у такой фишки, поэтому проверить интересно, но в результате я, увы, достаточно уверен. А если нужна серверная мошность как у Яндекса, то и бесплатный модуль для этого писать как-то глупо, правда? :)
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#98 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 06 April 2012 - 11:50 PM

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


о нет........ только не возврат этих галок ))) хотя развечто использовать их не для включения а для отключения - вариант :) чего-то не подумал об этом даже.
Я был приятно удивлен что теперь не нада их проставлять в каждой категории.

И галку я бы добавлял не в категориях, а в "Характеристиках" т.е. там где они добавляются....... Хотя если это делать в категориях то можно настраивать для каждой категории свои характеристики. Но тогда возвращаемся к штатному варианту - что мне не очень по душе........ разве что добавлять характеристику для отключения )))))))))))))

вобщем меня этот вопрос интересует меньше всего меня больше интересует "отсеивание"
  • 0

#99 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 06 April 2012 - 11:52 PM

Т.е. я, возможно, когда-нибудь этим озадачусь, но, подозреваю, что это будет только для того, чтобы забить первый и последний гвоздь в крышку этой идеи. Не вижу я умозрительно перспектив у такой фишки, поэтому проверить интересно, но в результате я, увы, достаточно уверен. А если нужна серверная мошность как у Яндекса, то и бесплатный модуль для этого писать как-то глупо, правда?

Правда, но пока не попробуешь не узнаешь........ а все-таки есть такая мааааленькая надежда на то, что А вдруг потянет )))
  • 0

#100 badisoft

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

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 06 April 2012 - 11:53 PM

я даже после твоего сообщения недопер какже там выбрать несколько характеристик ))))

А то в твоем варианте фильтра сразу очевидно, что надо с нажатым Control хар-ки выбирать, тогда они плюсуются :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)