0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 2192 Просмотров
*

lustoff

  • Осваиваюсь на форуме
  • 101
  • 3
Здравствуйте, форумчане!
Использую для AJAX поиска на сайте модуль GENIUS VirtueMart AJAX SEARCH страница на сайте разработчика http://www.genius-webdesign.com/joomla-extensions/38-genius-virtuemart-ajax-search
VirtueMart 2.6.0a
Работает, вроде бы, нормально, только поиск получился регистрозависимым, если вводить кириллические буквы (латинскими буквами - регистронезависимый).
Подскажите, пожалуйста, как поправить модуль, чтоб искал без учета регистра?
Если я правильно понял, то поиск осуществляется в файле \modules\mod_genius_vm_ajax_search_revamped\ajax\index.php
в куске
Код: php
$ab = explode(' ', $keyword);
 $ccc='';
 $ccc2='';
     foreach ($ab as $k)
     {
       if (!empty($k))
      {
       
     if($ccc==''){        
     $ccc.= " concat(product_name, customtitle) RLIKE '".$db->getEscaped($k)."' AND";
}
else{
      $ccc.= " concat(product_name, customtitle) RLIKE '".$db->getEscaped($k)."' AND";
}

if($ccc2==''){
     $ccc2.= " product_gtin RLIKE '".$db->getEscaped($k)."' AND";
}
else{
       $ccc2.= " product_gtin RLIKE '".$db->getEscaped($k)."' AND";
}


  }
  else {
  $ccc2.= " product_gtin RLIKE '0' AND";
  $ccc.= " concat(product_name, customtitle) RLIKE '0' AND";
  }
}
Файл прикрепляю

Примечание. "product_gtin" это я ставил вместо "product_sku", чтоб искало по этому полю - работает. product_gtin у меня каталожный номер, product_sku - порядковый номер (артикул).
« Последнее редактирование: 12.06.2014, 12:50:35 от lustoff »
*

lustoff

  • Осваиваюсь на форуме
  • 101
  • 3
Здравствуйте, форумчане!
Возьмется кто за доработку данного модуля за денежное вознаграждение?
*

marveloff

  • Новичок
  • 1
  • 0
Здравствуйте lustoff. Удалось ли решить данную проблему?
*

vovikk

  • Новичок
  • 1
  • 0
Добрый день, Может кто то решил данный вопрос, очень нужно что бы модуль не учитывал регистр при поиске.
*

zomby6888

  • Живу я здесь
  • 1484
  • 167
ну а если вместо RLIKE использовать LIKE оператор?
интернет-блог: http://websiteprog.ru
*

asteroidx

  • Новичок
  • 1
  • 0
Здравствуйте. Кто нибудь нашел решение данной проблемы?
*

lakshmi

  • Осваиваюсь на форуме
  • 177
  • 3
Попробуйте эту версию https://yadi.sk/d/GDRrhzBke2UUH. Она попроще но зато регистронезависима. И там действительно вместо оператора RLIKE используется  LIKE, проверял на Joomla 2.5.28 и VirtueMart 2.6.14. Хотелось бы еще доработать его чтобы внизу отобразить кнопку все результаты поиска. Мысли есть как это сделать буду пробовать если что отпишусь.
« Последнее редактирование: 16.01.2015, 13:39:23 от lakshmi »
*

lakshmi

  • Осваиваюсь на форуме
  • 177
  • 3
ссылку на все товары сделал так
Код
 echo '</div><a href="search?keyword='. $keyword .'&limitstart=0&option=com_virtuemart&view=category&Itemid=132" title="Все результаты поиска..." >Отобразить все результаты поиска...</a></div>';
Примерно в районе строки 708 вместо сайта разработчика вставил этот код. Вообще если будет интересно посомтреть как можно настроить можно посмотреть здесь http://teragrad.com/. Мне кажется получилось неплохо, но я бы еще добавил бы кнопку искать, ведь сейчас поиск работает только через ссылку "Отобразить все результаты поиска..." и еще AJAX, но AJAX показывает только небольшое количество товаров а кнопка искать справа смотрелась бы очень логично.
*

Andrey-Haker

  • Новичок
  • 4
  • 0

Всем привет!
Ладно жалко Вас стало чудиков,

if($ccc==''){          
         $ccc.= " concat(product_name, customtitle, product_s_desc) LIKE '%".$db->getEscaped($k)."%' AND";
            }
            else{
          $ccc.= " concat(product_name, customtitle, product_s_desc) LIKE '%".$db->getEscaped($k)."%' AND";
            }

Это нужно заменить 355-360 строка,файл index.php

Где лежит я думаю догадаетесь.

 
« Последнее редактирование: 04.02.2015, 17:38:47 от Andrey-Haker »
*

robert

  • Профи
  • 4077
  • 376

if($ccc==''){           
         $ccc.= " concat(product_name, customtitle, product_s_desc) LIKE '%".$db->getEscaped($k)."%' AND";
            }
            else{
          $ccc.= " concat(product_name, customtitle, product_s_desc) LIKE '%".$db->getEscaped($k)."%' AND";
            }

 

Тему не читал, только последнее сообщение. Зачем проверка? Почему не сразу
Код: php-brief
$ccc.= " concat(product_name, customtitle, product_s_desc) LIKE '%".$db->getEscaped($k)."%' AND";
?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

Andrey-Haker

  • Новичок
  • 4
  • 0
Нужно ещё заменить с 405 по 417

if($cc==''){          
         $cc.= " concat(category_name,category_description) LIKE '%".$db->getEscaped($k)."%' AND";
            }
            else{
          $cc.= " concat(category_name,category_description) LIKE '%".$db->getEscaped($k)."%' AND";
            }
            
           if($manfcc==''){          
         $manfcc.= " concat(mf_name,mf_desc) LIKE '%".$db->getEscaped($k)."%' AND";
            }
            else{
          $manfcc.= " concat(mf_name,mf_desc) LIKE '%".$db->getEscaped($k)."%' AND";
            }

Чтобы можно было искать название категории и производителя с маленькой буквы русского языка ^-^

По поводу проверок даже не думал, просто минимально изменил код для того, чтобы функционально работал.

Кто попробует, отпишитесь.
*

robert

  • Профи
  • 4077
  • 376
deleted
Посмотрел стартпост. Нифига себе, это в оригинале такой г-код?
По поводу учета регистра - используйте COLLATE. Например, для принудительного поиска без учета регистра добавьте
Код: sql
COLLATE utf8_general_ci

или приведите сравниваемые фразы к общему регистру
Код: sql
WHERE LOWER('bLahBlah') LIKE LOWER('BlahblAh')
. В противном случае
Код: sql
COLLATE utf8_bin

И никакого RLIKE: либо LIKE, либо REGEXP.
« Последнее редактирование: 06.02.2015, 08:33:29 от robert »
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

Andrey-Haker

  • Новичок
  • 4
  • 0
Robert наша задача помочь с минимальными затратами времени и усилий для тех кто не соображает вообще не в каких кодах.А Вы написали, то что ни кто кроме нас не поймёт. ^-^
Если всё это вставить всё будет работать.А улучшать код для своей совести и якобы лучшей работоспособности, только за деньги.
*

robert

  • Профи
  • 4077
  • 376
Robert наша задача помочь с минимальными затратами времени и усилий для тех кто не соображает вообще не в каких кодах.
Нет, это не моя задача (см. мою подпись).
А Вы написали, то что ни кто кроме нас не поймёт. ^-^
Кроме кого нас? Думаю, вы тоже не поняли. А то, что вы написали, не имеет ничего общего с темой "регистронезависимый поиск". Так что пока можете листать литературу, рано еще жалеть других, господин хахер.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

Andrey-Haker

  • Новичок
  • 4
  • 0
Роберт, то что я написал всё работает!
Если у Вас "эго" играет, это Ваши проблемы!
Вы хоть сами понимаете, что написали полную чушь) ^-^
И по поводу Haker -это всего лишь ник.
*

Gandriyko

  • Захожу иногда
  • 14
  • 0
Добрый день, друзья!
Как заставить этот модуль выводить в результатах поиска даже короткие запросы?
Сейчас происходит поиск только по словам, которые больше 4ёх символов.
Нужно, чтобы искало начиная с двух. (Чтобы находило короткие артикулы)

Joomla 2.5.28
Качал эту версию:
https://yadi.sk/d/GDRrhzBke2UUH
Копался в коде, но так и не дошло, что и как поменять.
Прошу помощи.
*

ArchibaldIron

  • Новичок
  • 8
  • 0
Здравствуйте! Действительно не понятно что и где менять для регистронезависимости.
Последняя версия совсем другая (для vm3). Но там тоже нет регистронезависимости.
нужно менять ajax\index.php верно?
Готов предоставить код и оплатить работу, если надо.
« Последнее редактирование: 09.04.2017, 23:19:46 от ArchibaldIron »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поиск как у яндекса

Автор 47911

Ответов: 7
Просмотров: 139
Последний ответ 07.09.2017, 18:14:45
от zikkuratvk
Universal AJAX Live Search + VM3

Автор One

Ответов: 4
Просмотров: 264
Последний ответ 27.10.2016, 12:58:35
от gartes
AJAX проверка логина и email

Автор stalkervp

Ответов: 3
Просмотров: 1973
Последний ответ 14.05.2016, 00:37:22
от robert
AJAX пагинация категории и кнопка в корзину

Автор stydent

Ответов: 3
Просмотров: 686
Последний ответ 21.09.2015, 15:11:56
от stydent
Поиск в админке. раздел Настраиваемые поля

Автор sarmin

Ответов: 1
Просмотров: 385
Последний ответ 17.09.2014, 13:59:37
от sarmin