Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

rider76

Users
  
  • Posts

    85
  • Joined

  • Last visited

Everything posted by rider76

  1. Не работают такие вырианты, что-то здесь не так. Выводятся так же все позиции при пробеле в конце и между цифрами если поставить двойной пробел.
  2. При вводе запроса, когда перед номером стоит пробел, относится только к пробелу, вставлять перед номером любые знаки можно, поиск найдет модель, а все позиции выводит только когда впереди стоит пробел.
  3. Получается я неправильно менял код?Как я выше написал работает, между цифрами все удаляет, а впереди номера если вставить пробел то выводит все позиции, там же по условию поиск с начала номера, вот и получается если в начале номера пробел он и выводит все. А чекбоксы у меня постоянно включены оба и внешне на сайте вообще не отображаются, я менял строку в фале \catalog\view\theme\ТЕМА\template\product\ search.tpl эту url = 'index.php?route=product/searchна эту url = 'index.php?route=product/search&model=1&description=1'; в итоге у меня изначально по умолчанию сразу искал и по коду и по модели, заморочки с пробелами были
  4. Огромное спасибо, все работает по обоим вариантам так как описано. Немного уточню- строка $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')"; Присутствует в двух местах в коде. Я брал второй вариант, так как он действительно более точный и удобный, я менял весь кусок кода в двух местах, этот if (!$model) { $sql .= ")"; } else { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')"; }заменил на: $number = preg_replace('/\D/', '', $keyword); if (strlen($number) > 2) { $sql .= " OR p.model LIKE '" . $number . "%')"; } else { $sql .= " OR p.model LIKE '%" . $this->db->escape($keyword) . "%')"; } При данном способе артикул (модель) в админке должен быть ряд цифр без пробелов, иначе не работает. Еще есть один нюанс при втором способе - если при запросе впереди номера окажется пробел, поиск выведет все позиции. Еще раз огромное спасибо Yesvik.
  5. Попробую, отпишусь о результатах. Есть еще одна тема для размышлений по поиску. Проблему высказали на зарубежном форуме. Решения тоже нет. Поиск по наименованию, например позиция Palm Treo Pro , поиск ее не найдет если в поиск ввести первое и последнее слово (Palm Pro). Я считаю это тоже большим упущением. Мне впринципе это особо ни к чему, но все же.
  6. Вообще я просмотрел много магазинов запчастей и выделил как минимум 2 способа как это делают. При первом способе после ввода запроса маска номера остается та-же, а номера в результатах отображаются так как они забиты в магазине, здесь получается идет какой-то интуитивный поиск. При втором способе вводишь в окно запроса цифры со знаками пробелами и при нажатии на кнопку поиск цифры как бы съезжаются удаляя все лишнее между ними.
  7. Я у себя чекбоксы поиск по модели и поиск по названию вообще убрал, а в функции прописал поиск по модели по умолчанию (хотя если ввести название он тоже его найдет что странно). Получается что сейчас в окно поиска я ввожу :товар 11 - находит 11 - находит товар 11 товар11 - не находит 1 1 - не находит пробел11 - выводит все позиции При первом способе при вводе 21 (имеется ввиду товар 21) выводятся все позиции в которых встречаются цифра 2 и цифра 1. При втором способе никаких отличий от стандартного поиска. Хотя может я не то менял? (ту же строку что и при первом способе)
  8. Решил данную проблему. В шаблоне по умолчанию стоял div class="middle". Я не учел, что он прописан в функции внизу шаблона, а так же в скрипте ajax_add.js . Поменял в коде на название своего div art-BlockContent и все заработало. Может кому пригодится
  9. Прошу прощения, какие файлы надо править? А вообще все верно, в этой задаче поиск идет только по цифрам. "В том чилсе и наоборот" можно опустить. Это уже было бы так сказать идеальное решение. Просто в этом случае артикул (модель) будет заполняться как цифр без пробелов.
  10. У меня немного другая проблема. Товар в корзину (в бокс корзины) добавляется, но отображается только после перезагрузки страницы. При удалении тоже самое. Я правил шаблон \theme\default\template\module\cart.tpl , вроде бы функционал не трогал, только внешний вид (шапку и обрамление), добавлял DIVы. При вставке старого кода все в норме. Сначала не обратил внимание на это, в какой момент это произошло, теперь не могу найти где ошибка. Да еще, при нажатии кнопки добавить в корзину, картинка улетает не в сторону корзины, а ниже пролетает.
  11. Данную проблему можно решить путем добавления тегов в товары и установки поиска и по модели и по названию В файле catalog\view\theme\ваша_тема\template\product\ search.tpl строку: url = 'index.php?route=product/search'; заменить на: url = 'index.php?route=product/search&model=1&description=1'; Но я не считаю это выходом, слишком много тегов придется добавлять к каждому товару, а если в магазине много позиций, то на это уйдет уйма времени.
  12. Большое спасибо, очень полезное решение.
  13. Переписывать контроллер придется полностью или добавлять какие-то переменные? Здесь речь идет даже не о названии, а скорей всего о модели (артикуле). Нашел что то похожее в регулярных выражениях PHP в модификаторах: Это я взял отсюда - http://phpforum.ru/index.php?showtopic=15291 Вот только как это применить я не знаю. Есть варианты как это сделать? Или я не туда копаю ?
  14. Прочесал зарубежный форум. Выше один из подобных моему вопрос. Даже странно, что ни на один подобный вопрос нет нигде ответа ответа. Откликнитесь кто знает PHP.
  15. У меня не работает. OS 2.0 . Ошибки вываливаются. На админ панель все равно попадает ( на сайт не перенаправляется )и сверху ошибка Notice: Use of undefined constant session - assumed 'session' in ..........\admin\index.php on line 98 , при попытке авторизации тоже ошибки Notice: Use of undefined constant session - assumed 'session' in .........\admin\index.php on line 98Warning: Cannot modify header information - headers already sent by (output started at .........\admin\index.php:73) in ...........\system\engine\controller.php on line 27
  16. Для наглядности приведу пример поиска с игнорированием символов. Сайт всем известного интернет магазина запчастей www.exist.ru. Введите в окно поиска номер 50+10*26-0.052 (цилиндр сцепления рено). Все символы между цифрами игнорируются и в результатах появляется позиция с номером в таком виде 5010 260 052.Подскажите как это реализовать, очень нужно, и я думаю не мне одному. Существующий поиск практически бесполезен в таком виде как он есть сейчас.
  17. Добрый день. Искал решение проблемы по реализации поиска на форуме и не только и не нашел. Необходимо организовать поиск по модели так, что бы запрос на поиск например номера 81.41685-0040, 81-41685-0040, A81416850040, 81 41685 0040 считался одним и тем же, то есть пробелы, точки, тире, другие знаки и т.д. опускались и выводилась позиция с моделью 81416850040. В том числе и наоборот. Существует модуль автоподстановки, типа как в google, снизу окна поиска появляются позиции, подходящие под запрос, но это не совсем то. Возможно его можно переработать под такие нужды, но у меня не получилось. Позиции не должны снизу окна показываться, а должны появляться именно уже в модуле поиска в результатах поиска. Такой принцип организован в основном на сайтах автозапчастей, так как маски номеров у разных производителей различны. Да и я думаю это будет полезно для всех. Никто не знает как посетитель введет запрос поиска- товар20 или товар 20. Подсветка снизу не совсем удобна, многие даже не смотрят что появляется во время ввода, нажимают enter и смотрят результат. Возможно даже можно сделать с помощью чекбоксов точный поиск по номеру ( например 123 и выводится именно 123) и поиск с начала номера (когда в результатах появляются позиции начинающиеся с 123) Прошу профессионалов не очень сильно ругаться, я правда пробовал переделать модуль автоподстановки, но мои знания PHP пока оставляют желать лучшего. Буду признателен за ответ.
  18. Надо в файле catalog\view\theme\ваша_тема\template\product\search.tpl строку: url = 'index.php?route=product/search'; заменить на: url = 'index.php?route=product/search&model=1'; или для поиска и по модели и по названию: url = 'index.php?route=product/search&model=1&description=1';
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.