Представляю вашему вниманию новый расширенный поиск по характеристикам товара.
Гинеологическое древо:
Дед -
Компонент и модуль поиска товаров 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>
[вложение удалено Администратором]