Aleksey Опубліковано: 20 квітня 2012 Share Опубліковано: 20 квітня 2012 Можно ли как-то улучшить поиск. Сейчас, если добавить в начале или в конце поисковой фразы пробел, вываливает весь список товаров. Даже, если наборать абракадабру с пробелом в конце, то получится, что все товары подходят под запрос. Это очень хреново. Может быть есть какое-то решение. 1 Надіслати Поділитися на інших сайтах More sharing options...
Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Ребят, неужели нет решения? косяк-то, по-моему, серьезный, как и то, что поиск ищет вхождение любого слова из словосочетания, а не словосочетание целиком. Может быть есть платный модуль или кто платно возьмется за работу 1 Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 catalogcontrollerproductsearch.php, 199 'filter_name' => trim($filter_name), 1 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 В файле catalogmodelcatalogproduct.php ищеш строки $words = explode(' ', $data['filter_name']);и $words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку $words = array_filter(array_unique($words), 'strlen'); 4 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 catalogcontrollerproductsearch.php, 199 'filter_name' => trim($filter_name), От двойного пробела между словами это не спасёт... Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Большое спасибо. Не сочтите за наглость, но может быть есть решение и второго вопроса. Я имею ввиду, чтобы поиск искал входение всех слов из поискового запроса. А то как-то не логично, когда набираешь, например, Конструктор Лего самолет, а тебе вываливает все конструкторы (и лего и не лего), + все самолеты, да + ещё всё лего. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 Большое спасибо. Не сочтите за наглость, но может быть есть решение и второго вопроса. Я имею ввиду, чтобы поиск искал входение всех слов из поискового запроса. А то как-то не логично, когда набираешь, например, Конструктор Лего самолет, а тебе вываливает все конструкторы (и лего и не лего), + все самолеты, да + ещё всё лего. помимо #48ю строками ниже if ($implode) { $sql .= " " . implode(" OR ", $implode) . ""; } заменить на if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } 4 Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Вау :), то, что нужно! Большое спасибо Надіслати Поділитися на інших сайтах More sharing options... efremovxp Опубліковано: 23 квітня 2012 Share Опубліковано: 23 квітня 2012 Вопрос снят! Спасибо! Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 24 квітня 2012 Автор Share Опубліковано: 24 квітня 2012 Заменял OR на AND в двух строка 68 и 87 Надіслати Поділитися на інших сайтах More sharing options... JohnnyVega Опубліковано: 27 квітня 2012 Share Опубліковано: 27 квітня 2012 Я чуть-чуть по-другому сделал. В файле catalogviewjavascriptcommon.js добавляем свою функцию: function trim(string) { return string.replace(/(^s+)|(s+$)/g, ""); } Затем в том же файле в двух местах после var filter_name = $('input[name='filter_name']').attr('value') вставляем filter_name = trim(filter_name); Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Yumin Опубліковано: 16 травня 2012 Share Опубліковано: 16 травня 2012 А у меня поиск так и не заработал. Непонимаю почему, но похоже, что он неверно интерпретирует русскоязычные названия. По каким критериям он в поиске выдает так и не понял. Попробовал с англ. позициями - все ок. Помогите советом... Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Спасибо, полезная доработка. Но есть еще проблемка, как избавиться от регистра? У меня поиск, по крайней мере по названию товара, чувствителен к регистру символа! если ввести название товара с маленькой буквы, оно не попадает в результаты поиска :( Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... MACTEP Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо. Надіслати Поділитися на інших сайтах More sharing options... MACTEP Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо.хммм, походу у меня особый случай. Если тег состоит из двух слов или если ввести в поиск два слова с пробелом, выводит все товары с любым из слов Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 Это может быть только если ты правил файл catalogmodelcatalogproduct.php Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options... motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Отчёты об ошибках Пробел в поисковом запросе Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yesvik Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 В файле catalogmodelcatalogproduct.php ищеш строки $words = explode(' ', $data['filter_name']);и $words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку $words = array_filter(array_unique($words), 'strlen'); 4 Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 catalogcontrollerproductsearch.php, 199 'filter_name' => trim($filter_name), От двойного пробела между словами это не спасёт... Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Большое спасибо. Не сочтите за наглость, но может быть есть решение и второго вопроса. Я имею ввиду, чтобы поиск искал входение всех слов из поискового запроса. А то как-то не логично, когда набираешь, например, Конструктор Лего самолет, а тебе вываливает все конструкторы (и лего и не лего), + все самолеты, да + ещё всё лего. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 Большое спасибо. Не сочтите за наглость, но может быть есть решение и второго вопроса. Я имею ввиду, чтобы поиск искал входение всех слов из поискового запроса. А то как-то не логично, когда набираешь, например, Конструктор Лего самолет, а тебе вываливает все конструкторы (и лего и не лего), + все самолеты, да + ещё всё лего. помимо #48ю строками ниже if ($implode) { $sql .= " " . implode(" OR ", $implode) . ""; } заменить на if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } 4 Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Вау :), то, что нужно! Большое спасибо Надіслати Поділитися на інших сайтах More sharing options... efremovxp Опубліковано: 23 квітня 2012 Share Опубліковано: 23 квітня 2012 Вопрос снят! Спасибо! Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 24 квітня 2012 Автор Share Опубліковано: 24 квітня 2012 Заменял OR на AND в двух строка 68 и 87 Надіслати Поділитися на інших сайтах More sharing options... JohnnyVega Опубліковано: 27 квітня 2012 Share Опубліковано: 27 квітня 2012 Я чуть-чуть по-другому сделал. В файле catalogviewjavascriptcommon.js добавляем свою функцию: function trim(string) { return string.replace(/(^s+)|(s+$)/g, ""); } Затем в том же файле в двух местах после var filter_name = $('input[name='filter_name']').attr('value') вставляем filter_name = trim(filter_name); Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Yumin Опубліковано: 16 травня 2012 Share Опубліковано: 16 травня 2012 А у меня поиск так и не заработал. Непонимаю почему, но похоже, что он неверно интерпретирует русскоязычные названия. По каким критериям он в поиске выдает так и не понял. Попробовал с англ. позициями - все ок. Помогите советом... Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Спасибо, полезная доработка. Но есть еще проблемка, как избавиться от регистра? У меня поиск, по крайней мере по названию товара, чувствителен к регистру символа! если ввести название товара с маленькой буквы, оно не попадает в результаты поиска :( Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... MACTEP Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо. Надіслати Поділитися на інших сайтах More sharing options... MACTEP Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо.хммм, походу у меня особый случай. Если тег состоит из двух слов или если ввести в поиск два слова с пробелом, выводит все товары с любым из слов Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 Это может быть только если ты правил файл catalogmodelcatalogproduct.php Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options... motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Отчёты об ошибках Пробел в поисковом запросе Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yesvik Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 catalogcontrollerproductsearch.php, 199 'filter_name' => trim($filter_name), От двойного пробела между словами это не спасёт... Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Большое спасибо. Не сочтите за наглость, но может быть есть решение и второго вопроса. Я имею ввиду, чтобы поиск искал входение всех слов из поискового запроса. А то как-то не логично, когда набираешь, например, Конструктор Лего самолет, а тебе вываливает все конструкторы (и лего и не лего), + все самолеты, да + ещё всё лего. Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 Большое спасибо. Не сочтите за наглость, но может быть есть решение и второго вопроса. Я имею ввиду, чтобы поиск искал входение всех слов из поискового запроса. А то как-то не логично, когда набираешь, например, Конструктор Лего самолет, а тебе вываливает все конструкторы (и лего и не лего), + все самолеты, да + ещё всё лего. помимо #48ю строками ниже if ($implode) { $sql .= " " . implode(" OR ", $implode) . ""; } заменить на if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } 4 Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Вау :), то, что нужно! Большое спасибо Надіслати Поділитися на інших сайтах More sharing options... efremovxp Опубліковано: 23 квітня 2012 Share Опубліковано: 23 квітня 2012 Вопрос снят! Спасибо! Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 24 квітня 2012 Автор Share Опубліковано: 24 квітня 2012 Заменял OR на AND в двух строка 68 и 87 Надіслати Поділитися на інших сайтах More sharing options... JohnnyVega Опубліковано: 27 квітня 2012 Share Опубліковано: 27 квітня 2012 Я чуть-чуть по-другому сделал. В файле catalogviewjavascriptcommon.js добавляем свою функцию: function trim(string) { return string.replace(/(^s+)|(s+$)/g, ""); } Затем в том же файле в двух местах после var filter_name = $('input[name='filter_name']').attr('value') вставляем filter_name = trim(filter_name); Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Yumin Опубліковано: 16 травня 2012 Share Опубліковано: 16 травня 2012 А у меня поиск так и не заработал. Непонимаю почему, но похоже, что он неверно интерпретирует русскоязычные названия. По каким критериям он в поиске выдает так и не понял. Попробовал с англ. позициями - все ок. Помогите советом... Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Спасибо, полезная доработка. Но есть еще проблемка, как избавиться от регистра? У меня поиск, по крайней мере по названию товара, чувствителен к регистру символа! если ввести название товара с маленькой буквы, оно не попадает в результаты поиска :( Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... MACTEP Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо. Надіслати Поділитися на інших сайтах More sharing options... MACTEP Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо.хммм, походу у меня особый случай. Если тег состоит из двух слов или если ввести в поиск два слова с пробелом, выводит все товары с любым из слов Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 Это может быть только если ты правил файл catalogmodelcatalogproduct.php Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options... motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Отчёты об ошибках Пробел в поисковом запросе Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Большое спасибо. Не сочтите за наглость, но может быть есть решение и второго вопроса. Я имею ввиду, чтобы поиск искал входение всех слов из поискового запроса. А то как-то не логично, когда набираешь, например, Конструктор Лего самолет, а тебе вываливает все конструкторы (и лего и не лего), + все самолеты, да + ещё всё лего. Надіслати Поділитися на інших сайтах More sharing options...
freelancer Опубліковано: 22 квітня 2012 Share Опубліковано: 22 квітня 2012 Большое спасибо. Не сочтите за наглость, но может быть есть решение и второго вопроса. Я имею ввиду, чтобы поиск искал входение всех слов из поискового запроса. А то как-то не логично, когда набираешь, например, Конструктор Лего самолет, а тебе вываливает все конструкторы (и лего и не лего), + все самолеты, да + ещё всё лего. помимо #48ю строками ниже if ($implode) { $sql .= " " . implode(" OR ", $implode) . ""; } заменить на if ($implode) { $sql .= " " . implode(" AND ", $implode) . ""; } 4 Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Вау :), то, что нужно! Большое спасибо Надіслати Поділитися на інших сайтах More sharing options... efremovxp Опубліковано: 23 квітня 2012 Share Опубліковано: 23 квітня 2012 Вопрос снят! Спасибо! Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 24 квітня 2012 Автор Share Опубліковано: 24 квітня 2012 Заменял OR на AND в двух строка 68 и 87 Надіслати Поділитися на інших сайтах More sharing options... JohnnyVega Опубліковано: 27 квітня 2012 Share Опубліковано: 27 квітня 2012 Я чуть-чуть по-другому сделал. В файле catalogviewjavascriptcommon.js добавляем свою функцию: function trim(string) { return string.replace(/(^s+)|(s+$)/g, ""); } Затем в том же файле в двух местах после var filter_name = $('input[name='filter_name']').attr('value') вставляем filter_name = trim(filter_name); Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Yumin Опубліковано: 16 травня 2012 Share Опубліковано: 16 травня 2012 А у меня поиск так и не заработал. Непонимаю почему, но похоже, что он неверно интерпретирует русскоязычные названия. По каким критериям он в поиске выдает так и не понял. Попробовал с англ. позициями - все ок. Помогите советом... Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Спасибо, полезная доработка. Но есть еще проблемка, как избавиться от регистра? У меня поиск, по крайней мере по названию товара, чувствителен к регистру символа! если ввести название товара с маленькой буквы, оно не попадает в результаты поиска :( Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... MACTEP Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо. Надіслати Поділитися на інших сайтах More sharing options... MACTEP Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо.хммм, походу у меня особый случай. Если тег состоит из двух слов или если ввести в поиск два слова с пробелом, выводит все товары с любым из слов Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 Это может быть только если ты правил файл catalogmodelcatalogproduct.php Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options... motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Отчёты об ошибках Пробел в поисковом запросе Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Aleksey Опубліковано: 22 квітня 2012 Автор Share Опубліковано: 22 квітня 2012 Вау :), то, что нужно! Большое спасибо Надіслати Поділитися на інших сайтах More sharing options...
efremovxp Опубліковано: 23 квітня 2012 Share Опубліковано: 23 квітня 2012 Вопрос снят! Спасибо! Надіслати Поділитися на інших сайтах More sharing options... Aleksey Опубліковано: 24 квітня 2012 Автор Share Опубліковано: 24 квітня 2012 Заменял OR на AND в двух строка 68 и 87 Надіслати Поділитися на інших сайтах More sharing options... JohnnyVega Опубліковано: 27 квітня 2012 Share Опубліковано: 27 квітня 2012 Я чуть-чуть по-другому сделал. В файле catalogviewjavascriptcommon.js добавляем свою функцию: function trim(string) { return string.replace(/(^s+)|(s+$)/g, ""); } Затем в том же файле в двух местах после var filter_name = $('input[name='filter_name']').attr('value') вставляем filter_name = trim(filter_name); Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Yumin Опубліковано: 16 травня 2012 Share Опубліковано: 16 травня 2012 А у меня поиск так и не заработал. Непонимаю почему, но похоже, что он неверно интерпретирует русскоязычные названия. По каким критериям он в поиске выдает так и не понял. Попробовал с англ. позициями - все ок. Помогите советом... Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Спасибо, полезная доработка. Но есть еще проблемка, как избавиться от регистра? У меня поиск, по крайней мере по названию товара, чувствителен к регистру символа! если ввести название товара с маленькой буквы, оно не попадает в результаты поиска :( Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... MACTEP Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо. Надіслати Поділитися на інших сайтах More sharing options... MACTEP Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо.хммм, походу у меня особый случай. Если тег состоит из двух слов или если ввести в поиск два слова с пробелом, выводит все товары с любым из слов Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 Это может быть только если ты правил файл catalogmodelcatalogproduct.php Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options... motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Отчёты об ошибках Пробел в поисковом запросе Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Aleksey Опубліковано: 24 квітня 2012 Автор Share Опубліковано: 24 квітня 2012 Заменял OR на AND в двух строка 68 и 87 Надіслати Поділитися на інших сайтах More sharing options...
JohnnyVega Опубліковано: 27 квітня 2012 Share Опубліковано: 27 квітня 2012 Я чуть-чуть по-другому сделал. В файле catalogviewjavascriptcommon.js добавляем свою функцию: function trim(string) { return string.replace(/(^s+)|(s+$)/g, ""); } Затем в том же файле в двух местах после var filter_name = $('input[name='filter_name']').attr('value') вставляем filter_name = trim(filter_name); Надіслати Поділитися на інших сайтах More sharing options... 3 weeks later... Yumin Опубліковано: 16 травня 2012 Share Опубліковано: 16 травня 2012 А у меня поиск так и не заработал. Непонимаю почему, но похоже, что он неверно интерпретирует русскоязычные названия. По каким критериям он в поиске выдает так и не понял. Попробовал с англ. позициями - все ок. Помогите советом... Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Спасибо, полезная доработка. Но есть еще проблемка, как избавиться от регистра? У меня поиск, по крайней мере по названию товара, чувствителен к регистру символа! если ввести название товара с маленькой буквы, оно не попадает в результаты поиска :( Надіслати Поділитися на інших сайтах More sharing options... 7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... MACTEP Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо. Надіслати Поділитися на інших сайтах More sharing options... MACTEP Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо.хммм, походу у меня особый случай. Если тег состоит из двух слов или если ввести в поиск два слова с пробелом, выводит все товары с любым из слов Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 Это может быть только если ты правил файл catalogmodelcatalogproduct.php Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options... motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Отчёты об ошибках Пробел в поисковом запросе Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
Yumin Опубліковано: 16 травня 2012 Share Опубліковано: 16 травня 2012 А у меня поиск так и не заработал. Непонимаю почему, но похоже, что он неверно интерпретирует русскоязычные названия. По каким критериям он в поиске выдает так и не понял. Попробовал с англ. позициями - все ок. Помогите советом... Надіслати Поділитися на інших сайтах More sharing options...
7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Спасибо, полезная доработка. Но есть еще проблемка, как избавиться от регистра? У меня поиск, по крайней мере по названию товара, чувствителен к регистру символа! если ввести название товара с маленькой буквы, оно не попадает в результаты поиска :( Надіслати Поділитися на інших сайтах More sharing options...
7up Опубліковано: 20 травня 2012 Share Опубліковано: 20 травня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Надіслати Поділитися на інших сайтах More sharing options...
MACTEP Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось Надіслати Поділитися на інших сайтах More sharing options...
Yesvik Опубліковано: 2 червня 2012 Share Опубліковано: 2 червня 2012 весия 1.5.3.1 После всех перечисленных способов ничего так и не поменлось В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо. Надіслати Поділитися на інших сайтах More sharing options... MACTEP Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо.хммм, походу у меня особый случай. Если тег состоит из двух слов или если ввести в поиск два слова с пробелом, выводит все товары с любым из слов Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 Это может быть только если ты правил файл catalogmodelcatalogproduct.php Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options... motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Отчёты об ошибках Пробел в поисковом запросе
MACTEP Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 В 1.5.3.1 с пробелами проблемы нет и ничего делать не надо.хммм, походу у меня особый случай. Если тег состоит из двух слов или если ввести в поиск два слова с пробелом, выводит все товары с любым из слов Надіслати Поділитися на інших сайтах More sharing options...
Yesvik Опубліковано: 3 червня 2012 Share Опубліковано: 3 червня 2012 Это может быть только если ты правил файл catalogmodelcatalogproduct.php Надіслати Поділитися на інших сайтах More sharing options... 4 weeks later... ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options... motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
ghostery Опубліковано: 30 червня 2012 Share Опубліковано: 30 червня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? Надіслати Поділитися на інших сайтах More sharing options...
motw Опубліковано: 1 липня 2012 Share Опубліковано: 1 липня 2012 Хотя тоже заметил какие-то непонятки с поиском :( кроме регистра он все таки не корректно ищет после замены OR на AND, а точнее ищет совсем не по критерию "И". Менял в 2х местах: после строки $words = explode(' ', $data['filter_name']); $sql .= " " . implode(" AND ", $implode) . ""; и после строки $words = explode(' ', $data['filter_tag']); $sql .= " " . implode(" AND ", $implode) . ""; Все правильно ты делал в общем-то. просто там к каждому слову по обеи стороны добавляется '%' и точно так же ищет по тегам. соответственно получается тот же ИЛИ. при желании выпиливаем теги и главное чистим кэш. все заработает. А что бы поиск по описаниям так же работал правильно добавляем скобочки по краям: if (!empty($data['filter_description'])) { $implode[] = "(LCASE(pd.name) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%' OR LCASE(pd.description) LIKE '%" . $this->db->escape(utf8_strtolower($word)) . "%')"; } Надіслати Поділитися на інших сайтах More sharing options...
snastik Опубліковано: 2 липня 2012 Share Опубліковано: 2 липня 2012 Простите, уже во вторую ветку лезу - но нигде ответа не могу найти. Как перенести форму поиска из хедера в контент (ocstore_v1.5.3.1)? по идее вот этот модуль должен помочь http://www.opencart.com/index.php?route=extension/extension/info&extension_id=4341&filter_search=search&filter_license=0&sort=e.date_modified&order=DESC&page=5 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... 7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
7up Опубліковано: 11 вересня 2012 Share Опубліковано: 11 вересня 2012 В файле catalogmodelcatalogproduct.php ищеш строки$words = explode(' ', $data['filter_name']);и$words = explode(' ', $data['filter_tag']);таких строк будет 4-е...после каждой найденной строки добавь строку$words = array_filter(array_unique($words), 'strlen'); После такого метода, при вводе пробела без слов получаю ошибку базы:Notice: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR )' at line 1Error No: 1064SELECT COUNT(DISTINCT p.product_id) AS total FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_tag pt ON (p.product_id = pt.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND ( OR ) in /system/database/mysql.php on line 49 Надіслати Поділитися на інших сайтах More sharing options...
Soronorus Опубліковано: 22 вересня 2012 Share Опубліковано: 22 вересня 2012 Проблема присутствует сделал что рекомендуется но сайт shop.supersam.ua версия ocStore v1.5.1.3 поиск конкретного товара Мойка MRG 611-62 должен показать 1 товар а показывает кучу как решить эту проблему если нужна оплата сразу говорите сколько. Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts