Форум русской поддержки Joomla!® CMS
05.12.2016, 08:35:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13   Вниз
  Добавить закладку  |  Печать  
Автор

Фильтр для VirtueMart (must have)

 (Прочитано 54913 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Wharfadale
Осваиваюсь на форуме
***

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

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


« : 23.04.2010, 09:58:24 »

Наконец-то готов фильтр для J2.5.x и VM2.0.x! Налетаем! Цена 1000 рублей за сайт! Для уже покупавших у нас - скидка 10%!

Компонент для поиска товаров в VirtueMart! Версия 1.0.4.2. Апдейт от 27.10.11 Cool
Фильтр работает с Joomla линейки 1.5.x и Virutemart 1.1.x
Описание: компонент, ничуть не уступающий по функционалу и внешнему виду аналогичным продуктам в Ямарте, на крупных сайтах, типа Мвидео, Samsung и т.д.
Демо

Цена на фильтр для J 1.5.x и VM 1.1.x
Просто фильтр – 500 рублей
Устранение ошибок работы нашего фильтра, если они есть

Просто фильтр + работа – 1000 рублей
1 час работы
Установка, настройка стилей, исправление ошибок и конфликтов, если таковые имеются

PS: по всем доработкам поддержка оказывается разово в течении того времени, которое указано в пакете. По устранению ошибок и настройке стилей в течении действия пакета.
PPS: Обладателям стандартной версии за 300 рублей нужно просто доплатить 200 рублей всё на тот же кошелёк
PPPS: Сайты на локалхосте мы не поддерживаем!

Небольшой мануал по фильтру vm 2.0, который будет расширяться, здесь

Инструкции по установке модуля?
<jdoc:include type="component" /> заменить на <div id="main_search"><jdoc:include type="component" /></div>

Как купить?
После того, как отписались в теме, отправляем на номер R232814480503 деньги (в подписи ваш ник на форуме и e-mail) без кода протекции, и я высылаю компонент. Или на Яденьги: 41001144139260. Также пишите мне в личку свой мэйл и время оплаты.

Заплатив деньги, а не скачав на халяву с варезника, вы получаете подписку на обновления и поддержкуAzn
« Последнее редактирование: 16.08.2013, 18:08:29 от Wharfadale » Записан
morph
Живу я здесь
******

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

Сообщений: 896


« Ответ #1 : 23.04.2010, 10:04:36 »

прекрасная реализация
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #2 : 07.05.2010, 10:13:05 »

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

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

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


Крепитесь, други.


« Ответ #3 : 14.05.2010, 16:57:58 »

шаблон вывода товара в virtuemart_ext_search_helper, CSS в CSS компонента.
Записан
orelalex
Осваиваюсь на форуме
***

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

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



« Ответ #4 : 26.05.2010, 15:48:41 »

Аркадий, не могу вывести полное описание в товары на страничке поиска. в бесплатном модуле я вывел так
echo $db->f("product_desc");
А в Вашем не могу вывести... Подскажите как это сделать Smiley
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #5 : 26.05.2010, 16:14:06 »

надо в строке 97 поменять #__{vm}_product.product_s_desc на #__{vm}_product.product_des, потом выводить.
Записан
orelalex
Осваиваюсь на форуме
***

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

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



« Ответ #6 : 26.05.2010, 16:28:29 »

надо в строке 97 поменять #__{vm}_product.product_s_desc на #__{vm}_product.product_des, потом выводить.
Мне краткое описание убирать не надо, мне добавить надо полное описание товара. И в каком файле менять?
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #7 : 26.05.2010, 16:54:44 »

тогда добавить, файл vm_ext_search_helper.php
Записан
orelalex
Осваиваюсь на форуме
***

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

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



« Ответ #8 : 26.05.2010, 18:53:39 »

тогда добавить, файл vm_ext_search_helper.php
Аркадий ты не многословен)))
Сделал как ты сказал
нашел по поиску в блакноте нашел где добавляется product.product_s_desc и через запятую добавил  #__{vm}_product.product_desc и где надо вывести полное описание прописал echo $db->f("product_desc");
и все заработало!
Спасибо за помощь!
Записан
volkazirik
Захожу иногда
**

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

Сообщений: 12


« Ответ #9 : 27.05.2010, 13:39:58 »

Господа, а как изменить текст который выводится по умолчанию в выпадающем списке?  Т.е если я только загружаю страницу и ничего не трогаю, вот там стоят значения.  [Выбрать "название параметра"]   
Мне нужно чтобы вместо "названия параметра выводилось слово "все".
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #10 : 27.05.2010, 13:45:37 »

unisearch.php
function list_harakt

после
Код:
case 'select' :
default :
код
Код:
echo "<option value=\"\">Выбрать " . $parameter_label . "</option>\n";
меняем на
Код:
echo "<option value=\"\">Выбрать все</option>\n";
« Последнее редактирование: 27.05.2010, 13:48:49 от Arkadiy » Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #11 : 28.05.2010, 06:04:12 »

Arkadiy, а с какой сортировкой скрипт выводит результаты? И можно как-то повлиять на это?
vm_ext_search_helper.php за сортировку отвечает эта строка.
Код:
$q .= "ORDER BY #__{vm}_product.product_id DESC ";
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #12 : 28.05.2010, 06:13:21 »

И опять же, непонятно он сортирует значения характеристик в выпадающих списках. Я забиваю текстовые списки значений в несколько характеристик, и при выводе формы эти списки значений сортируются непонятно как - один по алфавиту, второй непонятно вообще как...    ?
unisearch.php за сортировку отвечает эта строка.
Код:
$q .= "ORDER BY $param_name";
т.е. сортирует по названию параметров. Но если встречаются параметры с мультивыбором характеристик, то при их разбивке сортировка может нарушиться. Для того, чтобы ее восстановить, надо в указанном файле после строки
Код:
$parameters = array_unique($parameters);
вставить строку
Код:
sort($parameters);
Тогда
Код:
$q .= "ORDER BY $param_name";
можно смело убрать за ненадобностью.
« Последнее редактирование: 28.05.2010, 06:40:36 от Arkadiy » Записан
volkazirik
Захожу иногда
**

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

Сообщений: 12


« Ответ #13 : 28.05.2010, 14:32:42 »

Нуу.. хотелось бы:
1. по цене
2. по алфавиту  (только чтоб от А до Я) потому что ставлю product_name  а он сортирует от Я до А.
3. больше пока ничего не придумал))

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

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

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


Крепитесь, други.


« Ответ #14 : 28.05.2010, 14:57:48 »

1. по цене
Код:
$q .= "ORDER BY final_price ASC ";

2. по алфавиту в прямом порядке
Код:
$q .= "ORDER BY #__{vm}_product.product_name ASC ";
ASC DESC - направление (ASC А-Я, DESC Я-А).
Записан
my@so
Осваиваюсь на форуме
***

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

Сообщений: 117


« Ответ #15 : 28.05.2010, 22:20:28 »

Что во всплывающих подсказках писать и откуда это брать?
таблица _vm_product_type_parameter, поле parameter_description
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #16 : 29.05.2010, 07:29:29 »

unisearch.php после строки
Код:
//запрашиваем названия свойств
$q = "SELECT `parameter_name`, `parameter_label`, `parameter_type`, ";
вставояем
Код:
$q .= "`parameter_description`, ";
строку, которая начинается с
Код:
if ($conf['show_label'] == 1) echo "\n <div class=\"parameter_label\">"
заменить на
Код:
if ($conf['show_label'] == 1) echo "\n <div class=\"parameter_label\">" . $parameter_label. ": ".JHTML::tooltip($patam->parameter_description, $parameter_label, 'tooltip.png', '', '', false)."</div>\n";
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #17 : 01.06.2010, 06:08:11 »

Ой неправильно выразился... То есть когда в каталоге заходишь в один раздел например Керама Марацци http://plitkimnogo.ru/index.php?option=com_virtuemart&Itemid=30, то фабрика доступна только керама марацци в поиске, нельзя выбрать другие фабрики для поиска. Вот в чем вопрос.
Если вывести в модуле поиска на фронт категории, то будет возможно. или закомментировать 26 строку
Код:
if (empty($cid[0]) && !empty($category_id)) $cid[0] = $category_id;
в mod_vm_universal_search.php
« Последнее редактирование: 01.06.2010, 06:13:07 от Arkadiy » Записан
orelalex
Осваиваюсь на форуме
***

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

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



« Ответ #18 : 02.06.2010, 01:43:26 »

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

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

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


Крепитесь, други.


« Ответ #19 : 02.06.2010, 12:24:26 »

vm_ext_search_helper.php после строки 204 с текстом
Код:
$img = "<img align=\"left\" src=\"" . $product_thumb_image . "\" />" ;
вставляем след. запрос:
Код:
$dbm = new ps_DB;
$dbm->query("SELECT m.manufacturer_id, m.mf_name
            FROM #__{vm}_manufacturer as m,
            #__{vm}_product_mf_xref as mx
            WHERE m.manufacturer_id = mx.manufacturer_id
            AND mx.product_id = ".$db->f("product_id")."
            LIMIT 1
            ");
$mf_name = $dbm->f("mf_name");
unset ($dbm);
После оперируем $mf_name как хотим.
« Последнее редактирование: 02.06.2010, 12:28:12 от Arkadiy » Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #20 : 04.06.2010, 06:55:35 »

Azn))
А мне бы это очень в тему бы пошло..  т.е. есть стандартные маленькие, есть большие, а вот еще как раз в этот скрипт нужны меньше чем станд.маленькие.  А геморно эту функцию включить?
И если возможно, то выложите где что надо изменить в коде, а не готовые измененные файлы)))   а то я так уже на кастомился что новую версию нереально поставить))
Чтобы заработали размеры картинки необходимо  строку 202 (приблизительно), начинающуюся с
Код:
$img = "<img align=\"left\" src=\"" . $product_thumb_image
написать в таком виде:
Код:
$img = "<img align=\"left\" src=\"" . $product_thumb_image . "\" width=\"".$t_width."\" height=\"".$t_height."\" />" ;
Вот и все, остальное не забыл.
Записан
volkazirik
Захожу иногда
**

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

Сообщений: 12


« Ответ #21 : 13.06.2010, 09:12:14 »

Как сделать так, чтобы в форме поиска не показывалось окно "Характеристики товаров:"?

Я убрал так:
Файл components/com_vm_ext_search/files/unisearch.php
Закомментировал строку 333:
   print '<div class="label">Характеристики товаров: </div>';

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

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

Сообщений: 12


« Ответ #22 : 14.06.2010, 15:52:09 »

Wharfadale
подскажите, а у этого скрипта есть кеш? И где его удалить?
А то я тут по удалял несколько товаров и изменял порядок значений одного параметра типа, и после этого скрипт начал нищадно глючить Sad
Выдает что в результатах 3 товара, а при нажатии на "поиск" выводит 1 товар..  а при другом значении наоборот))


Отправил ЛС. Очень жду ответа))
TO ALL:
Глюк победили!

Когда удаляем товар, то Вирт иногда не удаляет запись в таблице, которая отвечает за назначение товару определенного типа. И, соответственно, поисковый скрипт думает что товар в базе есть. А когда жмем "поиск", то получаем в ответ "поиск не дал результатов", т.к. кроме информации о присвоении типа этому товару, о нем больше ничего нет в базе, ни описалова, ни фотки...
Поэтому "ручками" лезем в phpmyadmin и в базе ищем таблицу jos_vm_product_type_1
там по ID ищем товар который удалили и убиваем эту строчку.

Версия J1.5.15 VM1.1.4
Записан
tomm.ua
Новичок
*

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

Сообщений: 1


« Ответ #23 : 21.06.2010, 15:29:50 »

По ходу возникла проблема которую сам и решил - опишу, вдруг кому интересно будет.
Проблема была в том, что выпадающий список категорий формируется по длинне имени.
И если слишком длинное имя категории, то выпадающий список вылазит за границы модуля.
Решил вопрос грубо "в лоб", но одной правкой CSS не обошлось.
В папке с компонентом ищем unisearch.php и вместо:
Цитировать
echo "<select class=\"inpbox\" onchange=\"".$prefix."categoryChange()\" name=\"".$name."\">\n";
ставим
Цитировать
echo "<select id=\"mod_category_div\" class=\"inpbox\" onchange=\"".$prefix."categoryChange()\" name=\"".$name."\">\n";
Таким образом в выпадающем списке категорий прописывается id="mod_category_div".
Ну и дальше лёгкая правка style.css модуля:
Цитировать
#mod_category_div{
   background:#f9f9f9;
   border:1px dashed #cccccc;
   padding:5px;
   margin: 5px;
}
добавляем width:
Цитировать
#mod_category_div{
   background:#f9f9f9;
   border:1px dashed #cccccc;
   padding:5px;
   margin: 5px;
   width: 155px;
}
Без прописывания id у меня width не срабатывал.
Но это корявое решение, может некорректно отображаться в ИЕ (в восьмом выпадающий список обрублен под заданный размер, шестого и седьмого под рукой нет).
Мозилла, опера и хром - отображает хорошо.
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #24 : 28.06.2010, 13:19:22 »

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

Подскажите, пожалуйста, какой запрос надо подправить, чтобы показывалось общее число товаров в выбранной категории?
Эта строка в самом начале использовалась как отладочная информация о кол-ве товаров соответствующего типа в выборке, а сам запрос
Код:
$q = "SELECT distinct `product_id` FROM #__{vm}_product_type_" . $param_id . " ";
$q .= " WHERE  `product_id` IN (" . implode(", ", $product_ids). ") ";
... и т.д.
используется совсем для другого. По этому переделать не получится.
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #25 : 30.06.2010, 06:19:35 »

Фильтр принципиально выводит ТОЛЬКО товары с типами и параметрами?
Например сейчас, у меня в категории А присутствуют 3 товара, и только одному из них присвоен тип и параметры. Но если я выбираю в фильтре только категорию (или вообще отмечаю "выбрать все"), не выбирая ни тип ни параметры, ни производителя, и ожидая что фильтр выведет все три товара, в итоге получаю только ОДИН товар - тот которому присвоен тип.
Если в категории присутствует только 1 тип, то он выбирается автоматически при выборе категории и, в следствие этого, поиск выводит только товары соответствующего типа, а товары без типа не выводит.
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #26 : 01.07.2010, 08:22:16 »

Обнаружилась критическая ошибка в логике работы компонента. Обнаружил Александр.
Неисправность заключается в некорректном поиске товаров с множественным выбором значений характеристик.
Исправить так:
unisearch.php
строку 389
Код:
$parameter_multiselect[$i] = $patam->parameter_multiselect;
меняем на
Код:
$parameter_multiselect[$i] = $patam->parameter_type;
строку 416
Код:
if ($parameter_multiselect[$j] == 'N') $q .= "AND (`$parameter_name[$j]` = '".implode( "' OR `".$parameter_name[$j]."` =  '",$selected_params[$j])."') ";
меняем на
Код:
if ($parameter_multiselect[$j] != 'V') $q .= "AND (`$parameter_name[$j]` = '".implode( "' OR `".$parameter_name[$j]."` =  '",$selected_params[$j])."') ";
строку 463
Код:
elseif ($parameter_multiselect[$i] == 'N') $q1 .= "AND (`$parameter_name[$i]` = '".implode( "' OR `".$parameter_name[$i]."` =  '",$selected_params[$i])."') ";
меняем на
Код:
elseif ($parameter_multiselect[$i] != 'V') $q1 .= "AND (`$parameter_name[$i]` = '".implode( "' OR `".$parameter_name[$i]."` =  '",$selected_params[$i])."') ";
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #27 : 01.07.2010, 08:46:06 »

Забыл писал или нет про ошибку паджинации. Исправление здесь: http://joomlaforum.ru/index.php/topic,115793.msg656983.html#msg656983
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #28 : 05.07.2010, 06:13:31 »

Устраняем вывод всех товаров в случае когда клиент меняет последовательность выбора характеристик на обратную (в таком случае возможен выбор характеристик для которых не соответствует ни одного товара)

unisearch.php
после строки ~480
Код:
$prod_ids = $db->loadResultArray();
вставляем
Код:
array_push($prod_ids, 0);
Чтобы счетчик количества товаров отображал правильное количество строку ~490
Код:
print'<div class="colichestvo">Количество товаров в выборке = ' . count($prod_ids). '</div>';
меняем на
Код:
print'<div class="colichestvo">Количество товаров в выборке = ' . (count($prod_ids)-1). '</div>';
Записан
Arkadiy
Группа развития
*****

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

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


Крепитесь, други.


« Ответ #29 : 14.07.2010, 12:21:53 »

У меня на сайте 2 валюты, доллары и рубли.
Цена товара устанавливается в долларах, но валюта по умолчанию рубли. Показываютя над товаром рубли.
Модуль ищет по долларам. Как сделать что бы искал по рублям?
В файле vm_ext_search_helper.php строчки
Код:
$pf = vmGet($_REQUEST, 'pf', 0);
$pt = vmGet($_REQUEST, 'pt', 0);
заменить на
Код:
$pf = vmGet($_REQUEST, 'pf', 0);
$pf = $GLOBALS['CURRENCY']->convert( $pf, $GLOBALS['product_currency'], 'USD' );
$pt = vmGet($_REQUEST, 'pt', 0);
$pt = $GLOBALS['CURRENCY']->convert( $pt, $GLOBALS['product_currency'], 'USD' );
Если в админке валюта не доллары, то поставить свой трехзначный код валюты. Если несколько валют в админке выбор прост - или привести все к одной валюте, или убрать поиск по цене.
Записан
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | 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