Foх Опубликовано 13 января, 2015 Жалоба Поделиться Опубликовано 13 января, 2015 (изменено) Приветствую господа фрилансеры, кто нибудь реализовывал поиск на симпле по свойству, например имеемтелефон samsung e300у которого в свойствах прописанооперационная система : android 2.2 вот если вбить в строку поиска andoroid 2.2 или просто android чтоб он выводил товары с этим свойством. Изменено 13 января, 2015 пользователем Foх Цитата Ссылка на сообщение Поделиться на другие сайты
Решение Kasha Опубликовано 14 января, 2015 Решение Жалоба Поделиться Опубликовано 14 января, 2015 Находим в файле api/Products.php if(!empty($filter['keyword'])) { $keywords = explode(' ', $filter['keyword']); foreach($keywords as $keyword) { $kw = $this->db->escape(trim($keyword)); $keyword_filter .= $this->db->placehold("AND (p.name LIKE '%$kw%' OR p.meta_keywords LIKE '%$kw%' OR p.id in (SELECT product_id FROM __variants WHERE sku LIKE '%$kw%'))"); } } Меняем на if(!empty($filter['keyword'])) { $keywords = explode(' ', $filter['keyword']); foreach($keywords as $keyword) { $kw = $this->db->escape(trim($keyword)); $keyword_filter .= $this->db->placehold("AND (p.name LIKE '%$kw%' OR p.meta_keywords LIKE '%$kw%' OR p.id in (SELECT product_id FROM __variants WHERE sku LIKE '%$kw%') OR p.id in (SELECT product_id FROM __options o WHERE o.`value` LIKE '%$kw%'))"); } } И в ajax/search_products.php находим $simpla->db->query("SELECT p.id, p.name, i.filename as image FROM __products p LEFT JOIN __images i ON i.product_id=p.id AND i.position=(SELECT MIN(position) FROM __images WHERE product_id=p.id LIMIT 1) WHERE (p.name LIKE '%$kw%' OR p.meta_keywords LIKE '%$kw%' OR p.id in (SELECT product_id FROM __variants WHERE sku LIKE '%$kw%')) AND visible=1 ORDER BY p.name LIMIT ?", $limit); $products = $simpla->db->results(); меняем на $simpla->db->query("SELECT p.id, p.name, i.filename as image FROM __products p LEFT JOIN __images i ON i.product_id=p.id AND i.position=(SELECT MIN(position) FROM __images WHERE product_id=p.id LIMIT 1) WHERE (p.name LIKE '%$kw%' OR p.meta_keywords LIKE '%$kw%' OR p.id in (SELECT product_id FROM __variants WHERE sku LIKE '%$kw%') OR p.id in (SELECT product_id FROM __options o WHERE o.`value` LIKE '%$kw%')) AND visible=1 ORDER BY p.name LIMIT ?", $limit); $products = $simpla->db->results(); Только кому и зачем это нужно я не знаю %) Цитата Ссылка на сообщение Поделиться на другие сайты
koteyka Опубликовано 14 января, 2015 Жалоба Поделиться Опубликовано 14 января, 2015 Только кому и зачем это нужно я не знаю %)Согласен. По описанию и аннотации поиск делал, это еще куда не шло. А по свойствам и так есть фильтр. Зачем еще раз велосипед мудрить? Цитата Ссылка на сообщение Поделиться на другие сайты
Foх Опубликовано 14 января, 2015 Автор Жалоба Поделиться Опубликовано 14 января, 2015 Согласен. По описанию и аннотации поиск делал, это еще куда не шло. А по свойствам и так есть фильтр. Зачем еще раз велосипед мудрить? всяко в жизни бываеТ)спасибо за ответ, да я тоже с описанием делал,а просто со свойствами интересно стало как сделать. Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 14 января, 2015 Жалоба Поделиться Опубликовано 14 января, 2015 Как видно очень просто. Только если есть свойства в цифрах то очень легко получить огромную выдачу Цитата Ссылка на сообщение Поделиться на другие сайты
manchi Опубликовано 26 января, 2015 Жалоба Поделиться Опубликовано 26 января, 2015 Как видно очень просто. Только если есть свойства в цифрах то очень легко получить огромную выдачу а если выводить только точное соответствие = Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 26 января, 2015 Жалоба Поделиться Опубликовано 26 января, 2015 Это не принципиально, что "лайк" что "===", всё равно при наличии широко развитых свойств выдавать кашу будет Цитата Ссылка на сообщение Поделиться на другие сайты
Gragory Опубликовано 9 февраля, 2015 Жалоба Поделиться Опубликовано 9 февраля, 2015 Сделал по данному примеру для вариантов товара.Встал вопрос, как теперь в результатах поиска вывести варианты товара под самим товаром. Подскажите, плиз, а то не выходит что-то реализовать данный вопрос. Цитата Ссылка на сообщение Поделиться на другие сайты
supervisor Опубликовано 4 марта, 2015 Жалоба Поделиться Опубликовано 4 марта, 2015 Как видно очень просто. Только если есть свойства в цифрах то очень легко получить огромную выдачу Огромную выдачу получить не так уж просто ) Если выдаются варианты найденные в свойтсвах, то на странице поиска нет пагинации, т.е. pagination.tpl не подлючется, но если руками добавить к запросу номер стриницы, то страницы выводятся. ?keyword=металлический+каркас&page=2 Как это пофиксить? Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.