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

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Universal AJAX Live Search + VM3

 (Прочитано 89 раз)
0 Пользователей и 1 Гость смотрят эту тему.
One
Давно я тут
****

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

Сообщений: 238


« : 18.10.2016, 19:09:09 »

Здравствуйте, как заставить этот модуль искать не только по наименованию, но и по производителям?
Записан
gartes
Живу я здесь
******

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

Сообщений: 827


Е = mс²


« Ответ #1 : 19.10.2016, 00:31:40 »

MySQL Запрос изменить.
Записан
One
Давно я тут
****

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

Сообщений: 238


« Ответ #2 : 19.10.2016, 13:44:58 »

MySQL Запрос изменить.
А можете подсказать как именно?
Записан
One
Давно я тут
****

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

Сообщений: 238


« Ответ #3 : 19.10.2016, 13:45:38 »

Что-то в этой части кода? Правка плагина по адресу /public_html/plugins/search/virtuemart/virtuemart.php. Могу скинуть файл целиком

Код:
switch ($phrase) {
case 'exact':
$wheres2 = array();
// product_sku should be exact match
$text = $db->quote("%$text%", TRUE);
$wheres2[] = "p.product_sku LIKE $text";
$wheres2[] = "a.product_name LIKE $text";
$wheres2[] = "b.$category_field LIKE $text";
if ($search_product_s_description)
$wheres2[] = "a.product_s_desc LIKE $text";
if ($search_product_description)
$wheres2[] = "a.product_desc LIKE $text";
if ($search_customfields)
$wheres2[] = "(cf.customfield_value LIKE $text $customfield_ids_condition)";
$where = '(' . implode (') OR (', $wheres2). ')';
break;
case 'all':
case 'any':
default:
$words = explode (' ', $text);
$wheres = array();
foreach ($words as $word) {
$wheres2 = array();
// product_sku should be exact match
          $word = $db->quote("%$word%", TRUE);
$wheres2[] = "p.product_sku LIKE $word";
$wheres2[] = "a.product_name LIKE $word";
$wheres2[] = "b.$category_field LIKE $word";
if ($search_product_s_description)
$wheres2[] = "a.product_s_desc LIKE $word";
if ($search_product_description)
$wheres2[] = "a.product_desc LIKE $word";
if ($search_customfields)
$wheres2[] = "(cf.customfield_value LIKE $word $customfield_ids_condition)";

$wheres[] = implode (' OR ', $wheres2);
}
$where = '(' . implode (($phrase == 'all' ? ') AND (' : ') OR ('), $wheres). ')';
break;
}
switch($ordering) {
case 'alpha':
$order = 'a.product_name ASC';
break;
case 'category':
$order = 'b.category_name ASC, a.product_name ASC';
break;
case 'popular':
$order = 'a.product_name ASC';
break;
case 'newest':
$order = 'p.created_on DESC';
break;
case 'oldest':
$order = 'p.created_on ASC';
break;
default:
$order = 'a.product_name ASC';
}
« Последнее редактирование: 19.10.2016, 13:50:32 от One » Записан
gartes
Живу я здесь
******

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

Сообщений: 827


Е = mс²


« Ответ #4 : 27.10.2016, 13:58:35 »

Задайте этот вопрос в этой теме.
AJAX поиск для VirtueMart 3.x (Скачать)

Подумаем над ответом.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

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