Здравствуйте форумчане, помогите разобратся где изменить запрос SQL на выборку товаров по определенным параметрам. Ситуация следующая: 1) Virtuemart V 1.1.9 stable 2) В каталоге товаров сделал два типа товаров - "Рубашки" и "Галстуки", а также для каждого типа добавил параметры [скрин админки для типа "Рубашки"]: 3)В БД создались две таблицы jos_vm_product_type_1 - "Рубашки" и jos_vm_product_type_2 - "Галстуки" http://s015.radikal.ru/i333/1109/79/8d99c7eacafc.png Наполнились эти таблицы после того как я к товарам добавил типы, тоесть отнес рубашки к типу "Рубашки" и галстуки к "Галстуки". Теперь в двух этих таблицах содержатся идентификаторы продуктов product_id и значения параметров для типа (напр Рубашки). Вопрос как делать выборку по этим таблицам, те выбирать product_id WHERE model=% AND rukav=%..., а затем полученный список ID товаров использовать для выборки из таблицы jos_vm_product А это сама страница с модулем фильтра http://berlot-nsk.mvip.ru/index.php?page=shop.browse&category_id=1&option=com_virtuemart&Itemid=5 В каком файле и функции произвести изменения, и как это более правильно сделать? Я так пологаю это файлы administrator/components/com_virtuemart/html/shop_browse_queries.php и administrator/components/com_virtuemart/html/shop.browse.php Или я ошибаюсь? Спасибо!
http://joomlaforum.ru/index.php/topic,69642.0.html вам нужно стандартный поиск по типам вынести в модуль вот и все. выше описано как,думаю разберетесь,если что - пишите
Спасибо, но мне нужно поля для выбора параметров выводить именно модулем вот в такой форме http://berlot-nsk.mvip.ru/index.php?page=shop.browse&category_id=1&option=com_virtuemart&Itemid=5 Сделал вне все параметры передаваемые по POST как и с этой стандартной страницы поиска товаров по параметрам: http://berlot-nsk.mvip.ru/index.php...ameter_search_form&product_type_id=1&Itemid=5 Сравнил передаваемые параметры по POST (FireBug) 1) со страницы стандартного поиска Itemid 3 option com_virtuemart page shop.browse price price_comp le product_type_1_clasp_comp find_in_set_all product_type_1_consistenc... find_in_set_all product_type_1_model[] Классическая product_type_1_model_comp find_in_set_all product_type_1_rukav_comp find_in_set_all product_type_1_silhouette... find_in_set_all product_type_1_texture_co... find_in_set_all product_type_id 1 search Поиск 1) и со страницы через мой модуль\форму Itemid 3 option com_virtuemart page shop.browse price price_comp le product_type_1_clasp[] product_type_1_clasp_comp find_in_set_any product_type_1_consistenc... product_type_1_consistenc... find_in_set_any product_type_1_model[] Классическая product_type_1_model_comp find_in_set_any product_type_1_rukav[] product_type_1_rukav_comp find_in_set_any product_type_1_silhouette... product_type_1_silhouette... find_in_set_any product_type_1_texture[] product_type_1_texture_co... find_in_set_any product_type_id 1 search Поиск Как видно передаются все теже параметры, но на выходе не выводится ни одного товара! Вот непойму в чем проблема((
Выяснилось! При стандартном поиске http://berlot-nsk.mvip.ru/index.php?option=com_virtuemart&page=shop.parameter_search_form&product_type_id=1&Itemid=5 НЕ ВЫБРАННЫЙ параметр не передается, тоесть передается только выбранный в виде массива product_type_1_model[] Классическая А при использовании формы моего модуля эти параметры всеравно передаются в виде пустых массивов(array([0]=>)). Поэтому в shop_browse_queries.php на Str 205 добавил проверку: Код (CODE): //Если значение параметра array и если первый индекс равен пустоте, обнуляем массив if(is_array($get_item_value)){ if($get_item_value[0]==''){ $get_item_value=''; } } И все заработало! Тоесть обнуляем пустые массивы параметров, и в следствии этого они не учитываются при поиске в SQL запросе на выборку! Всем спасибо, вроде проблема решена!
там же написано как именно в модуль вывести. скопировал,вставил,назначил тип с настроек модуля, поправил 1 строчку. все - универсальный модуль подбора по параметрам типов,а далее вирт сам все сделает. уже года два продаю за 30$ кто хочет готовый вариант. тынц все вариации одного модуля(слева на главной,первые две вкладки в отборе по авто- все вариации одного модуля с разными настройками.)
причем сдесь обьединение трех подборов в один? там на первых двух вкладках один модуль про который писал как его делать, а на третьей воабще другой на аяксе (для подбора шин/дисков по марке авто) все модули писались,а не обьединялись в один. вкладки воабще дело десятое 30$ за модуль выводящий форму подбора по любым параметрам(селект,мультиселект,текст,<=>= и т.п. - какой тип поля выбереш в настройках параметра типа,цена "от и до ") типа (который укажеш в админке в настройке модуля) 30$ за то, кому лень проследовать инструкциям в том посте что написал и сделать свой такойже,затратив минут 15 и чуть подумать логически.
>уже года два продаю за 30$ кто хочет готовый вариант 1 насколько он отличается от _http://joomlaforum.ru/index.php/topic,111319.0.html ? 2 фильтр выводит выборку в формате шаблона browse_Х.php или формирует свой интерфейс-шаблон, как в бесплатной версии по ссылке? 3 фильтр работает только по типам или и по свойствам товаров и по позициям (дочерним) тоже? 4 если у товара несколько значений параметров типа (он может быть белый, красный, зеленый и т.д. - множественность), то отрабатывает ли фильтр на все значения? (фришная версия вышеуказанного работает только если одно значение) сенкс
Sedoy , видели стандартный поиск по типам в вирте (в главном модуле если включить "показывать поиск по параметрам параметры" то появиться ссылка на расширенный поиск, там ссылки на типы - нажимаеш и форма поиска по параметрам выбранного типа) вот я ПРОСТО вывел в МОДУЛЬ это дело для удобства. поиск - полный функционал поиска в вирте. естественно ищет по browse_Х.php и т.п. отличия...да такиеже как отличия стандартного поиска от того что по ссылке. ищет не олько по "выпадающий список" а также и по тексту,числу, мультивыбору и всем тем видам параметров типов что есть в вирте,естественно использует вывод виртовский. это просто модуль для стандартного поиска,это не компонент как ссылка выше,нету аяксов и прочих рюшичек. вывод дочек отрублен при поиске в вирте сознательно в файле shop_browse_queries.php разрабами. если надо закоментируйте строку условия. както так
разве в расширенном есть поиск по свойствам? кста, у меня расширенный не работает нормально - есть типы, но он их не предлагает к выборке чем это вызвано не знаю возможно хаки повлияли мне нужно что б фильтр давал возможность выбирать как типы с их параметрами, так и свойства, что прописаны в самой карточке (причем там их два вида: просто свойства с параметрами и те что с позициями - дочками )
нет только по параметрам типов. да по свойствам нелогично. свойство(3 вкладка список свойств-в простонародье атрибуты) это вып. список что выбирает покупатель при покупке т.о. искать по ним нелогично так как он еще не выбрал). а если свойства это как раз "свойства" тоесть отличительные особенности дочерних товаров и нужно при поиске выводить как раз дочерние товары с отбором по свойствам то нужно переписать несколько логику поиска вирта (выше описал что разрабы сознательно ограничили вывод списка товаров только родителями $where_clause[] = "`product_parent_id`=0 " воабще по сути логичнее выводить список дочерних в список товаров как в карточке(http://joomlaforum.ru/index.php/topic,84888.msg486743.html#msg486743),а при поиске по свойствам ограничивать этот список по найденным значениям
ну.. тут вопрос дискуссионный предположим есть товар у него могут быть следующие свойства: заказ 10 дней = 1000р заказ 15 дней = 900р заказ 20 дней = 800р можно реализовать это через тип, дочернии товары, а можно просто через те свойства где как раз и применяется зависимость "свойство - цена" ведь она не зря так "выделена" почему по ним нет поиска не понятно скажем мне нужно найти товары со сроком заказа 15 дней просто собираюсь создать пул-заказ из 10 товаров у которых срок 15 дней, а не "перелистывать" кучу карточек для выявления таких по одной
в вирте значения свойст товара храняться как "свойство,позиция[+цена];свойство1,позиция11[+цена];свойство2,позиция21[-цена]...." и так в каждом товаре произвольно. справочника свойств нет как такогого, посему чтобы было универсально не выйдет-неоткуда брать форму в поиск, если только настройках модуля просто руками не задавать список всех возможных для тебя значений и свойств, тогда можно искать по всем товарам есть ли в них такие вариации.
а как можно приобрести у вас модуль, понравился что отдельно все по типам сразу выпадающими списками идет на http://www.1000x1000.ru/view_all_products_in_shop.html во всех местах