LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
26.05.2012, 04:00:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Расширенный Ajax-поиск по характеристикам товара VirtueMart  (Прочитано 81802 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« : 28.05.2010, 14:43:01 »

Представляю вашему вниманию новый расширенный поиск по характеристикам товара.
Гинеологическое древо:
Дед - Компонент и модуль поиска товаров VirtueMart 1.0.15 на Ajax
Отец - Фильтр, или расширенный поиск по характеристикам товара

Новый компонент был полностью переработан и лишен большинства (а может быть и всех) недостатков своих прародителей, взяв от них самое лучшее.
Это аналог платного модуля Фильтр для VirtueMart (must have) с урезанным функционалом. Урезан он в части выбора способа вывода параметров. В отличие от платного компонента здесь все параметры выводятся селектами (выпадающими списками).

Состоит расширенный поиск из модуля и компонента. Компонент может работать самостоятельно, без модуля. Модуль без компонента работать не может.

Вывод результатов поиска происходит с помощью AJAX, без перезагрузки страницы. По этому есть небольшой нюанс в установке модуля (для компонента не нужно).

Некоторые инструкции по установке модуля:
1. Как обычно устанавливаем и настраиваем модуль.
2. Модуль использует AJAX подгрузку результатов поиска. Для того, чтобы в любом месте сайта это было возможно необходимо в index.php шаблона Joomla вставить определенный див.

Для работы модуля необходимо обрамить вывод компонента
Код:
<jdoc:include type="component" />
в index.php используемого шаблона дивом. в итоге должно получиться так:
Код:
<div id="main_search">
         <jdoc:include type="component" />
</div>
Тогда этот див будет присутствовать на любой странице, а результаты поиска будут заменять выводимое содержимое.

Исправление ошибки работы отбора по типам если не выбирать категории или производителей:
все, нашла в чем было дело!
в файле modules\mod_vm_universal_search\mod_vm_universal_search.php
у меня 68 строка, там где выводятся параметры типа
Код:
   <div id="mod_harakt_div" >
            <?php
            if (count($types) == 1) {
                $typ = array();
                $typ[] = $types[0]->product_type_id;
                $uniSearch->get_harakt($typ, $cid, $mf_id, $conf);
            }
            ?>
    </div>

в параметры функции get_harakt надо добавить префикс 'mod_':

 
Код:
  <div id="mod_harakt_div" >
            <?php
            if (count($types) == 1) {
                $typ = array();
                $typ[] = $types[0]->product_type_id;
                $uniSearch->get_harakt($typ, $cid, $mf_id, $conf,'mod_');
            }
            ?>
    </div>

* com_vm_ext_search_free_1.4.4.zip (52.12 Кб - загружено 3629 раз.)
* mod_vm_universal_search_free_1.2.zip (5.25 Кб - загружено 3385 раз.)
« Последнее редактирование: 12.09.2011, 13:43:45 от Arkadiy » Записан
 
baloon
Завсегдатай
*****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 407



« Ответ #781 : 03.02.2012, 23:05:09 »

Буквально все.
Короче менять надо скрипт который передает значение в инпут, по другому ни как, да?
Записан
falconpvt
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15



« Ответ #782 : 03.02.2012, 23:06:09 »

Поиск работает если выбирать по порядку, сверху вниз. Если наоборот, то не работает.
это помогло, но как сказал выше, выдаёт после кнопки не всегда все результаты...(
Показать текстовый блок
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #783 : 03.02.2012, 23:22:52 »

Это немного не в ту степь, смотри где общее количество товара считается.
Записан
falconpvt
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15



« Ответ #784 : 03.02.2012, 23:34:44 »

вместо "дистинкт" сделал так и теперь снова выбор снизу вверх характеристик 0 показывает... эх( есть ли смысл искать на форуме ответы в прошлом? или эти проблемы не решались "задокументировано"? Sad
Показать текстовый блок
уловил зависимость...
вместо 3 найденных показывает по кнопке 1
4-2
16-8


наконец-то)))нашёл)))
http://joomlaforum.ru/index.php/topic,111319.msg647780.html#msg647780
« Последнее редактирование: 04.02.2012, 04:01:07 от falconpvt » Записан
falconpvt
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15



« Ответ #785 : 04.02.2012, 16:04:47 »

в платном есть проблемы такие? выбор снизу вверх и я хочу только чтобы параметры выбирались...
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #786 : 04.02.2012, 16:21:32 »

Нет, в платном тоже только сверху вниз.
Записан
aleks_yug
Завсегдатай
*****

Репутация: +78/-0
Offline Offline

Сообщений: 565


« Ответ #787 : 04.02.2012, 16:43:40 »

Аркадий, добрый день! Уже писал - компонент великолепный, легко конфигурируется и изменяется под свои нужды. Использую везде, где можно +
А теперь по делу... Достаточно редко задаю вопросы, но тут... Заметил очень своеобразный глюк. На тарифе "кластер", хостинг "e-planet" - компонент (а конкретнее - модуль) подвисает при работе в IE всех версий. В остальных браузерах никаких проблем! У того же хостера на VPS все работает идеально. Обсуждал с ними эту фишку - выяснилось (по их словам), что на "кластере" обработка происходит через опрокси и соответственно из-за этого происходит сбой в IE. Насколько подобное предположение имеет право на существование, не знаю...
Но ведь на VPS прекрасно работает! Это конечно, не критично - заменил хостинг и проблема решена. Но все-же... Если сталкивался с подобной проблемой - где покопать? если есть желание глянуть - могу скинуть ссылку.
А за компонент СПАСИБО! Smiley
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #788 : 04.02.2012, 16:58:17 »

Нет, с такой проблемой не сталкивался.
Записан
aleks_yug
Завсегдатай
*****

Репутация: +78/-0
Offline Offline

Сообщений: 565


« Ответ #789 : 04.02.2012, 17:06:27 »

Нет, с такой проблемой не сталкивался.
Может это как-то связанно с обработкой ajax-запросов в IE (c законопослушными такой проблемы-то нет)
Кстати, дедовский компонент (для 1.0.15) пашет там-же без сбоев - все в порядке. ну да бог с ним... Не заморачивайся
Записан
alexsej
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #790 : 05.02.2012, 02:39:13 »

 ! Приветствую товарищи. Подскажите как сделать на сайте http://www.west-climate.ru/ вывод товара , настраиваемый, так же как в основном компоненте VirtueMart.... или сколько это будет ...
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #791 : 05.02.2012, 08:01:47 »

Может это как-то связанно с обработкой ajax-запросов в IE (c законопослушными такой проблемы-то нет)
Кстати, дедовский компонент (для 1.0.15) пашет там-же без сбоев - все в порядке. ну да бог с ним... Не заморачивайся
Не вижу взаимосвязи смены хостинга и браузера клиента. Непонятный глюк.
Записан
aleks_yug
Завсегдатай
*****

Репутация: +78/-0
Offline Offline

Сообщений: 565


« Ответ #792 : 05.02.2012, 13:20:51 »

Не вижу взаимосвязи смены хостинга и браузера клиента. Непонятный глюк.
Аркадий, я ее сам не вижу. Проверил методом ненаучного тыка - на VPS прекрасно заработало. Отсюда и выплыло такое предположение (но и только...) В любом случае вопрос решаемый
Записан
baloon
Завсегдатай
*****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 407



« Ответ #793 : 06.02.2012, 15:10:44 »

Arkadiy, я пытаюсь изменить вид select. Вот тут есть способ стилизации select, но он видимо конфликтует со скриптом поиска. Может вам удастся сразу увидеть в чем причина? Вот скрипт для этого способа стилизации.
Если применить этот способ, то обновление селектов не происходит.
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #794 : 06.02.2012, 16:07:00 »

Думаю дело в том, что оформление селектов, а точнее их скрытие и замена на красивые графические (или подобные) элементы происходит по загрузке страницы, а если страница не перезагружается, то и скрипт не отрабатывает.
Записан
baloon
Завсегдатай
*****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 407



« Ответ #795 : 06.02.2012, 19:25:29 »

Arkadiy, а сложно заменить select на список ul li ?
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #796 : 06.02.2012, 20:58:12 »

Ну так компонент же у тебя в руках, код открыт, оцени, сложно или нет.
Записан
orexov_m
Давно я тут
****

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 213


« Ответ #797 : 07.02.2012, 08:07:41 »

Приветствую.
Компонент хороший, но заметил проблему, решения не увидел.
Если у одного товара выбрано 2 параметра итз одного типа, то он в поиске не участвует.
То есть есть тип товара - Модель у неё имеются значения toytota,opel,volvo и например если товар подходит и к тойота и к опель соответственно выбраны два параметра, то он в поиске не появляется:(
Как-то возможно решить проблему?
Записан
baloon
Завсегдатай
*****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 407



« Ответ #798 : 07.02.2012, 12:56:22 »

Приветствую.
Компонент хороший, но заметил проблему, решения не увидел.
Если у одного товара выбрано 2 параметра итз одного типа, то он в поиске не участвует.
То есть есть тип товара - Модель у неё имеются значения toytota,opel,volvo и например если товар подходит и к тойота и к опель соответственно выбраны два параметра, то он в поиске не появляется:(
Как-то возможно решить проблему?
Проверил - работает. Один товар к двум параметрам одного типа - ищет.
Записан
orexov_m
Давно я тут
****

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 213


« Ответ #799 : 07.02.2012, 13:27:36 »

Проверил - работает. Один товар к двум параметрам одного типа - ищет.
странно, у а меня отказывается Sad
пишет что 0 в подборе, по остальным хорошо ищет.
Записан
orexov_m
Давно я тут
****

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 213


« Ответ #800 : 07.02.2012, 14:20:17 »

странно, у а меня отказывается Sad
пишет что 0 в подборе, по остальным хорошо ищет.
адрес сайта scooter-zip.ru выбрать модель Yamaha и марку Aerox будет 0 хотя есть модель которая в Aerox и в BWS
Записан
baloon
Завсегдатай
*****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 407



« Ответ #801 : 07.02.2012, 17:14:02 »

адрес сайта scooter-zip.ru выбрать модель Yamaha и марку Aerox будет 0 хотя есть модель которая в Aerox и в BWS
Показывает 0 товаров, а если нажать на кнопку "поиск" то выводит много товаров. Возможно типы не так присвоены?
Записан
orexov_m
Давно я тут
****

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 213


« Ответ #802 : 07.02.2012, 17:34:48 »

Показывает 0 товаров, а если нажать на кнопку "поиск" то выводит много товаров. Возможно типы не так присвоены?
Типы присвоены правильно, если товару дать 1 параметр типа то он нормально присутствует в поиске. Если же ему сделать
2 параметра одного типа в моем случае модели. то он выпадает из поиска Sad
Записан
ispanec
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 6


« Ответ #803 : 17.02.2012, 03:21:30 »

Люди добрый!подскажите пожалуйста .У меня при нажатии на определенный товар открывается первый добавленный товар с таким же наименованием-думал в этом проблема !меню наименование второго товара все равно при нажатии открывает первый .Например:Adidas(товар куртка) и Adidas(товар свитер) при нажатии на свитер открывает куртка.Я очень прошу высказать Ваше мнение
Записан
stacan
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #804 : 23.02.2012, 21:14:00 »

Доброго времени суток.

Два вопроса.

1. Кто-нить прикрутил к бесплатному фильтру "общий сброс "?
Пытался сделать так :

/modules/mod_vm_universal_search_free/mod_vm_universal_search_free.php:

<input type="reset" value="Сброс"> - сброс на первое значение проходит только в Категориях и в Производителях - Типы никак.

и так : <input type="button" value="Сброс" onclick="reset_form(0)">
с функцией как на сайте разработчиков фильтра:

modules/mod_vm_universal_search_pro/files/mod_universal_search.js :

...
function reset_form(load_product){
    jQuery('#mod_vm_search_form').clearForm();

    if(jQuery("select").is("#pt")){
        jQuery('#pt option:selected').attr('selected','');
        jQuery('#pt option:last').attr('selected','selected');
    }
   
    jQuery.ajax({
        type: "POST",
        url: url+'/index2.php?option=com_vm_ext_search_pro&no_html=1&task=reset_form'
    });
   
    if(jQuery("div").is("#mod_category_div")){
        mod_categoryChange(load_product);
    }
    else if(jQuery("div").is("#mod_mf_div")){
        mod_mfChangeMulti(load_product);
    }
    else if(jQuery("div").is("#mod_ad_div")){
        mod_availableDateChange(load_product);
    }
    else if(jQuery("div").is("#mod_typ_div")){
        mod_typeChange(load_product);
    }
}


В этом случае - сброс проходит в Производителях и Типах , а в Категории - появляется пустое поле.


2. Нужно вывести товар только в зависимости от типа на основе этого фильтра. Например вывести только бежевое постельное белье  (категория и производитель - не важно ). Причем по клику по образцу цвета.

Думал так сделать :
в форме ничего не трогаю кроме типа . Вибираю тип "бежевое" - кликаю поиск фильтра и смотрю через консоль огнелиса на http запрос.
Если потом по клику по образцу цвета программно выполнить такой же запрос - все должно получиться. Но это только идея -мож.так и не получится. Может кто решал подобную задачу ?



Записан
stacan
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #805 : 24.02.2012, 02:46:01 »

Как программно получить ID товаров с одинаковым типом ?Например все id товаров с первым типом,потом все id товаров со вторым?
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #806 : 24.02.2012, 02:50:30 »

Запросом всех идов товара из таблицы типа.
Записан
xoxol39
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 48


Хохол...


« Ответ #807 : 24.02.2012, 14:04:21 »

Нужна помощь! Фильтр не работает в IE и Opera (индикатор загрузки работает, но ничего больше не происходит) - посмотреть (в обогревателях есть несколько товаров)
« Последнее редактирование: 24.02.2012, 22:34:51 от xoxol39 » Записан
spyweb
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11



« Ответ #808 : 28.02.2012, 13:59:11 »

Arkadiy, доброго времени суток!
В модуле не отображаются те параметры у которых не заданы допустимые значения. Они видны лишь, допустим, на странице товара. Компонент/модуль с подобными параметрами не работает?
А если мне необходимо задать диапазон изменения значения параметра, то как это правильно сделать чтобы он (параметр) учавствовал в поиске?


Нашел ваш ответ на подобный вопрос заданный ранее.

"Все правильно заметил, другой регулировки попадания в поиск нет, только наличие допустимых значений."

И все же, Arkadiy, ее (регулировку) можно удалить, или видоизменить, чтобы было как в "поиске по расширенным характеристикам" ?
« Последнее редактирование: 28.02.2012, 14:10:51 от spyweb » Записан
spyweb
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11



« Ответ #809 : 28.02.2012, 15:04:10 »

Arkadiy, доброго времени суток!
В модуле не отображаются те параметры у которых не заданы допустимые значения. Они видны лишь, допустим, на странице товара. Компонент/модуль с подобными параметрами не работает?
А если мне необходимо задать диапазон изменения значения параметра, то как это правильно сделать чтобы он (параметр) учавствовал в поиске?


Нашел ваш ответ на подобный вопрос заданный ранее.

"Все правильно заметил, другой регулировки попадания в поиск нет, только наличие допустимых значений."

И все же, Arkadiy, ее (регулировку) можно удалить, или видоизменить, чтобы было как в "поиске по расширенным характеристикам" ?


Попытался так:

В файле www\components\com_vm_ext_search_free\files\unisearch.php

Находим:
Код:
            $param_type = array ();
            $selected_params = array ();
            $parameter_multiselect = array ();
            $i = 0;
            $disabled = '';
            $q1 = '';
            foreach  ($patams as $patam) {
                $parameter_values = $patam->parameter_values;
                if (!empty($parameter_values)) {
                    $i++;
                    $param_name = $patam->parameter_name;
                    $param_id = $product_type_id[0];
                    $parameter_label = $patam->parameter_label;
                    $item_name = "product_type_" .$product_type_id[0]. "_" . $param_name;

                    $parameter_type = $patam->parameter_type;
                    $param_type[$i] = $parameter_type;
                    $parameter_multiselect[$i] = $patam->parameter_multiselect;
                    $parameter_name[$i] = $patam->parameter_name;
                    //получаем выбранный параметр из реквеста
                    $selected_param = array();
                    $selected_parameter = vmGet($_REQUEST, $item_name, '');
                    $selected_param = array();
                    for ($j=0; $j< count($selected_parameter); $j++) {
                        if(!empty ($selected_parameter[$j])) {
                            $selected_param[$j] = urldecode($selected_parameter[$j]);
                        }
                    }

Меняем на:
Код:
            //запрашиваем названия свойств
            $q = "SELECT `parameter_name`, `parameter_label`, `parameter_type`, ";
            $q .= "`parameter_values`, `parameter_multiselect`, `parameter_unit` ";
            $q .= "FROM #__{vm}_product_type_parameter ";
            $q .= "WHERE product_type_id IN (".implode(", ", $product_type_id).") ";
            $q .= "ORDER BY parameter_list_order";
            $db->setQuery($q);
            $patams = $db->loadObjectList();

            $param_type = array ();
            $selected_params = array ();
            $parameter_multiselect = array ();
            $i = 0;
            $disabled = '';
            $q1 = '';
            foreach  ($patams as $patam) {
                $parameter_values = $patam->parameter_values;
                    $i++;
                    $param_name = $patam->parameter_name;
                    $param_id = $product_type_id[0];
                    $parameter_label = $patam->parameter_label;
                    $item_name = "product_type_" .$product_type_id[0]. "_" . $param_name;

                    $parameter_type = $patam->parameter_type;
                    $param_type[$i] = $parameter_type;
                    $parameter_multiselect[$i] = $patam->parameter_multiselect;
                    $parameter_name[$i] = $patam->parameter_name;

В таком случае параметры (без допустимых значений)  отображаются в модуле, но поиск идет не верно. Либо все товары, либо ни одного
« Последнее редактирование: 28.02.2012, 16:32:52 от spyweb » Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #810 : 28.02.2012, 17:06:06 »

Значит где-то нарушил алгоритм поиска.
Записан
Страниц: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet