MaZa 10 Опубликовано 16 марта, 2011 Жалоба Share Опубликовано 16 марта, 2011 Есть бокс "Фильтры". Он отображается, на сколько я понимаю, на странице определенной категории, вывод сделал, опираясь на данные из БД. SQL-запрос: SELECT `products_parameters_id`, `products_parameters_name`, `products_parameters_titlesuff`, `categories_id` FROM `products_parameters` LIMIT 0, 30 ; [table] [tr] [td]products_parameters_id[/td] [td]products_parameters_name[/td] [td]products_parameters_titlesuff[/td] [td]categories_id[/td] [/tr] [tr] [td]12[/td] [td]Кол-во подш-ов[/td] [td][/td] [td]82[/td] [/tr] [tr] [td]13[/td] [td]Емкость шпули[/td] [td]м[/td] [td]82[/td] [/tr] [tr] [td]14[/td] [td]вес[/td] [td]гр[/td] [td]82[/td] [/tr] [tr] [td]15[/td] [td]Передат-ое число[/td] [td][/td] [td]82[/td] [/tr] [tr] [td]16[/td] [td]Длина[/td] [td]см[/td] [td]153[/td] [/tr] [tr] [td]17[/td] [td]Вес[/td] [td]г[/td] [td]153[/td] [/tr] [tr] [td]18[/td] [td]Крючки[/td] [td][/td] [td]153[/td] [/tr] [tr] [td]19[/td] [td]Глубина[/td] [td]м[/td] [td]153[/td] [/tr] [tr] [td]33[/td] [td]Тест max[/td] [td]г[/td] [td]54[/td] [/tr] [tr] [td]32[/td] [td]Тест min[/td] [td]г[/td] [td]54[/td] [/tr] [tr] [td]30[/td] [td]Кол-во колец[/td] [td][/td] [td]54[/td] [/tr] [tr] [td]29[/td] [td]Вес[/td] [td]г[/td] [td]54[/td] [/tr] [tr] [td]28[/td] [td]Трансп[/td] [td]см[/td] [td]54[/td] [/tr] [tr] [td]27[/td] [td]Длина[/td] [td]см[/td] [td]54[/td] [/tr] [tr] [td]31[/td] [td]Кол-во секций[/td] [td][/td] [td]54[/td] [/tr] [/table] из таблицы видно, что параметры с ID 27-33 относятся к категории 54. Структура категорий в магазине следующая: - Категория1, ID 54 ---Категория1, ID 71 ------Категория1, ID 81 ------Категория2, ID 82 ---Категория2, ID 72 ------Категория1, ID 91 ------Категория2, ID 92 ---Категория3, ID 73 ------Категория1, ID 101 ------Категория2, ID 102 Вопрос, как лучше поступить, если задача состоит в том, чтобы выводить бокс фильтры в категориях с ID: 81, 82, 91, 92, 101, 102 ? Если руками через админку (Каталог - Параметры), то проблема в том, что категории одинаково называются и в выпадающем списке нельзя понять кто её родитель, чтобы знать нужно ли этой категории те или иные параметры. Возможно есть какой-то другой способ решения проблемы, пускай если необходимо запросы в БД послать или отредактировать файл-php... Суть в том, что все "дети" категории 54 имеют одни и те же параметры\характеристики товаров и фильтры для них применяются одни и теже, а задавать фильтры можно только на конкретную, одну категорию. Как избавится от дубляжа, двойной работы, избытка (в идеале) или как решить задачу (оптимально, как минимум)? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 марта, 2011 Жалоба Share Опубликовано 16 марта, 2011 Я не в курсе, никогда такого не делал. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 16 марта, 2011 Автор Жалоба Share Опубликовано 16 марта, 2011 а мысли по этому поводу какие-то есть? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 марта, 2011 Жалоба Share Опубликовано 16 марта, 2011 Ну если нужно вытащить данные только одной категории, то наверное нужно просто sql запрос исправить, что б только эту категорию и смотрел. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 16 марта, 2011 Автор Жалоба Share Опубликовано 16 марта, 2011 файлики не подскажите? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 марта, 2011 Жалоба Share Опубликовано 16 марта, 2011 /includes/functions/params_filters.php /templates/шаблон/source/boxes/params_filters.php Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 17 марта, 2011 Автор Жалоба Share Опубликовано 17 марта, 2011 спасибо. колупаюсь :) кстати, в файле /templates/шаблон/source/boxes/params_filters.php есть 1 недочёт.. там где формируется url для выбора параметра в боксе фильтров, там указано явно амперсанд. (&q=) , но когда категория будет иметь seo-url работать фильтры не будут, потому что нужен будет знак вопросика :) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 марта, 2011 Жалоба Share Опубликовано 17 марта, 2011 Да он же вроде всегда идёт вторым и т.д. параметром. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 17 марта, 2011 Автор Жалоба Share Опубликовано 17 марта, 2011 или вы не внимательно прочитали или я полный плуг... :( но когда категория будет иметь seo-url seo-url заканчивается на .html... site.com/category_name.html выбрали фильтр и должно быть: site.com/category_name.html?q=XXX UPDATE: я полный плуг)) не знаю как так, только сейчас обнаружил, что ф. vam_href_link решает проблему, что вставлять знак вопроса или амперсанд :o Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 марта, 2011 Жалоба Share Опубликовано 17 марта, 2011 Попробую глянуть к следующей версии. Спасибо. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 17 марта, 2011 Автор Жалоба Share Опубликовано 17 марта, 2011 строка 57: $blockItems[$i]['url'] = vam_href_link(FILENAME_DEFAULT, vam_category_link($categories_id, $categories['categories_name']) .'&q='.$set_query.$price_query); и строка 87: $values[$j]['url'] = vam_href_link(FILENAME_DEFAULT, vam_category_link($categories_id, $categories['categories_name']) .'&q='.$set_query.$price_query); думаю, нужна проверочка текущий URL SEO или НЕ SEO, если SEO то знак вопроса подставлять, в противном случае амперсанд. ну, вам виднее, это лишь моё имхо :) UPDATE: ой, забыл, нужно ещё будет учесть paginaging (постраничную разбивку, потому что в таком случае, действительно даже в seo-url, параметр для фильтра будет вторым, а соответственно нужен будет амперсанд). UPDATE2: это сообщение можно удалить за ненадобностью. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 марта, 2011 Жалоба Share Опубликовано 17 марта, 2011 Посмотрим. Фильтры вообще кривоватые конечно. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 17 марта, 2011 Автор Жалоба Share Опубликовано 17 марта, 2011 да, но есть идея как сделать так, чтобы всех устроило. Я предлагаю изменить работу фильтров след. образом: - добавить возможность задавать фильтры на группу категорий; - при выборе параметра выводить результаты на странице не относящихся к категориям вообще, т.к. возможен вариант, что фильтр задан на группу категорий; Конечно, это не просто реализовать, но таким образом, если бы фильтры работали, я думаю, что всем бы понравилось... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 марта, 2011 Жалоба Share Опубликовано 17 марта, 2011 Не знаю, обещать ничего не могу. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 17 марта, 2011 Автор Жалоба Share Опубликовано 17 марта, 2011 я заметил, что магазин использует ф. разнообразные, например для определения есть ли у категории родители или дети, ф. генерации тега с атрибутами для картинки, полей формы, т.п. много чего, такое себе API.. Если бы у меня была документация, чтобы не городить огород, я бы попробовал переделать эти самые фильтры. Я понимаю, что у вас есть свои задачи и их не мало наверняка, по этому, обещаний никаких не требую.. Разве, что просьба, чтобы взяли на заметку, подумали как вообще концепция пригодна, если бы была реализована, вошла бы в след. версиях или нет... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 марта, 2011 Жалоба Share Опубликовано 17 марта, 2011 Ну да, есть фильтры, есть атрибуты товара, есть доп. поля товаров, есть доп. поля покупателей и т.д. и т.п. Но сами фильтры в основном в тех файлах, что я выше указал + /includes/modules/product_info.php - тут вывод на страницу карточки товара. /includes/modules/default.php - там есть код фильтров для вывода их в список товара. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 24 марта, 2011 Автор Жалоба Share Опубликовано 24 марта, 2011 в общем изменил работу фильтров след. образом: - при открытии дочерних категорий (у которых первый родитель имеет параметры\фильтры) отображать фильтры в боксе тех товаров, которые есть в текущей открытой категории... а в идеале хотелось бы, в админке иметь возможность указать группу категорий, для которых должны работать фильтры и результаты фильтрации чтобы выводились как при поиске - не зависимо от категорий, чтобы находил весь товар с нужным фильтром... Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения