Enhill Posted December 14, 2017 Report Share Posted December 14, 2017 Мы все знаем, что одно из самых узких мест в Simpla является ужасный поиск товаров. Но есть решение, которое может все изменить. Недавно команда Яндекса выпустила в бетатестирование новый полноценный поиск для интернет магазинов. https://tech.yandex.ru/sitesearch/shopsearch/ Он понимает запросы в свободной форме, исправит ошибки и опечатки, выводит подсказки, разберается с разными вариантами написания названий. Сам результат можно отфильтровать по категории, по наличию в продаже, по ценовому диапазону. Можно быстро и легко подключить страницу с поиском, но стилизованную яндексом. Для этого надо добавить пару скриптов на сайт и скормить файлик с YML каталогом. Самое интересное: с помощью Яндекс API можно получать сырые JSON данные, которые можно как угодно стилизовать в своем магазине. Предлагаю обсудить возможности этого поиска. Quote Link to post Share on other sites
Maksclub Posted December 14, 2017 Report Share Posted December 14, 2017 Круто, надо делать... Quote Link to post Share on other sites
Noxter Posted December 14, 2017 Report Share Posted December 14, 2017 Круто, надо делать...Как сделаешь черкани в скайп simplacms. Quote Link to post Share on other sites
Maksclub Posted December 14, 2017 Report Share Posted December 14, 2017 Как сделаешь черкани в скайп simplacms. я так понимаю речь про JSON формат с реализацией? Quote Link to post Share on other sites
Noxter Posted December 14, 2017 Report Share Posted December 14, 2017 я так понимаю речь про JSON формат с реализацией?Я не вникал в доки, какой сделаешь отпишись. Интересно. Quote Link to post Share on other sites
Maksclub Posted December 14, 2017 Report Share Posted December 14, 2017 (edited) Ну обычный (с JS кодом) попробовал,получается он аяксом делает автоподстановку в форме,потом делает переадресацию на страницу, указанную в настрйоках поиска в кабинете с урлом вида: ?searchid=<ID_ПОИСКА>&text=Джинсы%2031%2C%2034#p=2&priceLow=&priceHigh=&categoryId=25 и если на той странице стоит еще 1 код, то он выводит в нем результаты на основании GET-параметров выше... Что не понравилось: в виджете результатов он вываливает полноценный огромный фильтр как в Яндекс маркете, с категориями и свойствами, у меня пустой фид, но вот он что вывел:https://yadi.sk/i/wLLfnPS33QcnZD А вот JSON-реализацией я займусь конечно Чтобы поиск был корректным — нужно максимально детально сделать фид Edited December 14, 2017 by Maksclub Quote Link to post Share on other sites
Maksclub Posted December 14, 2017 Report Share Posted December 14, 2017 (edited) Я короче сделал поиск через JSON Яндекса...оформляю всплывающие подсказки... Edited December 14, 2017 by Maksclub Quote Link to post Share on other sites
Enhill Posted December 14, 2017 Author Report Share Posted December 14, 2017 Maksclub, ого! Даже не знаю как выразить свой восторг. По поводу фида. Стандартный фид в принципе имеет в себе все необходимое, кроме характеристик. Опять же все подряд характеристики туда пихать не очень рационально (их может быть очень много). Как думаете на счет такого варианта: Cразу после описания в <description> или в тег <param> выводим те характеристики, которые отмечены в фильтре (значит самые важные). Например вот так: if (!empty($features[$p->product_id])) { foreach($features[$p->product_id] as $feature) { print " <param name='".htmlspecialchars($feature->name)."'>".htmlspecialchars($feature->value)."</param> "; } } Еще наверное бренд хорошо выводить <vendor>Adidas</vendor> Quote Link to post Share on other sites
Maksclub Posted December 14, 2017 Report Share Posted December 14, 2017 (edited) - Edited December 14, 2017 by Maksclub Quote Link to post Share on other sites
Enhill Posted December 14, 2017 Author Report Share Posted December 14, 2017 Согласен. Открываются невиданные возможности фильтрации результатов поиска.По поводу бренда. Наверное хорошо и артикул туда закинуть. // Товары $simpla->db->query("SET SQL_BIG_SELECTS=1"); // Товары $simpla->db->query("SELECT v.price, v.id as variant_id, p.name as product_name, v.name as variant_name, p.url, p.annotation, pc.category_id, i.filename as image, b.name as brand, b.url as brand_url FROM __variants v LEFT JOIN __products p ON v.product_id=p.id LEFT JOIN __products_categories pc ON p.id = pc.product_id AND pc.position=(SELECT MIN(position) FROM __products_categories WHERE product_id=p.id LIMIT 1) LEFT JOIN __images i ON p.id = i.product_id AND i.position=(SELECT MIN(position) FROM __images WHERE product_id=p.id LIMIT 1) LEFT JOIN __brands b ON p.brand_id = b.id WHERE p.visible AND (v.stock >0 OR v.stock is NULL) GROUP BY v.id"); print "<offers> "; <vendor>".htmlspecialchars($p->brand)."</vendor> ".($p->sku ? '<vendorCode>'.$p->sku.'</vendorCode>' : '')." Quote Link to post Share on other sites
Maksclub Posted December 14, 2017 Report Share Posted December 14, 2017 (edited) Если кому нужен, обращайтесь Поиск Яндекса для интернет-магазинов Edited December 14, 2017 by Maksclub Quote Link to post Share on other sites
Enhill Posted December 15, 2017 Author Report Share Posted December 15, 2017 (edited) Maksclub, вот это оперативность =) Файл фида, отдающий максимальную информацию в поиск, включая все свойства. Его также можно использовать для выгрузки на яндекс маркет. <name>Наименование товара</name> <vendor>Бренд</vendor> <vendorCode>Артикул</vendorCode> <description>Описание $p->description : $p->annotation<description/> <param name="Свойство">значение свойства</param> <price>цена</price> <oldprice>старая цена</oldprice> yandex-search.php Edited December 15, 2017 by Enhill Quote Link to post Share on other sites
Maksclub Posted December 15, 2017 Report Share Posted December 15, 2017 Файл фида, отдающий максимальную информацию в поиск, включая все свойства. Его также можно использовать для выгрузки на яндекс маркет. вчера уже доработал и переиндексировал пару раз Quote Link to post Share on other sites
Enhill Posted December 15, 2017 Author Report Share Posted December 15, 2017 (edited) FIXДобавлен вывод изображения 100х100 в фид.yandex-search.php Edited December 15, 2017 by Enhill Quote Link to post Share on other sites
Noxter Posted December 15, 2017 Report Share Posted December 15, 2017 вчера уже доработал и переиндексировал пару раз Ну ты красавчек! Статью позволишь дублянуть у себя в блоге? Или вообще напиши сам как автор http://simpla-addons.org/add Quote Link to post Share on other sites
Maksclub Posted December 15, 2017 Report Share Posted December 15, 2017 (edited) Ну ты красавчек!Статью позволишь дублянуть у себя в блоге?Или вообще напиши сам как автор http://simpla-addons.org/add да можешь дублировать еще правда не до конца доделал реализацию... UI доделать нужно, обработку ошибок... на самом деле я делал часа 4, ты бы и за 1 справился Edited December 15, 2017 by Maksclub Quote Link to post Share on other sites
Noxter Posted December 15, 2017 Report Share Posted December 15, 2017 да можешь дублировать еще правда не до конца доделал реализацию... UI доделать нужно, обработку ошибок...Рекомендую добавить кнопку "в корзину" на подобии розетки. Quote Link to post Share on other sites
Maksclub Posted December 15, 2017 Report Share Posted December 15, 2017 Рекомендую добавить кнопку "в корзину" на подобии розетки. хм, отличная идя кстати, спасибо Quote Link to post Share on other sites
Noxter Posted December 15, 2017 Report Share Posted December 15, 2017 хм, отличная идя кстати, спасибо Ну тогда и цену тоже + старая цена) Я это уже давно сделал для себя, пока ты про поиск не написал. Quote Link to post Share on other sites
Maksclub Posted December 15, 2017 Report Share Posted December 15, 2017 Ну тогда и цену тоже + старая цена) ну я это понял, полноценным сниппетом товары выводить Quote Link to post Share on other sites
Noxter Posted December 15, 2017 Report Share Posted December 15, 2017 ну я это понял, полноценным сниппетом товары выводитьКак сделаешь запили демку поюзать. Quote Link to post Share on other sites
FDA Posted November 27, 2019 Report Share Posted November 27, 2019 (edited) Подскажите, как можно в наименовании товара добавить категорию этого товара: <name>Категория товара, Наименование товара</name> Edited November 27, 2019 by FDA Quote Link to post Share on other sites
shooroop Posted November 28, 2019 Report Share Posted November 28, 2019 Подскажите, как можно в наименовании товара добавить категорию этого товара: <name>Категория товара, Наименование товара</name> если стандартными методами без доработки то на странице товара так {foreach $category->path as $cat} {$cat->name|escape} {/foreach}{$product->name|escape} Quote Link to post Share on other sites
FDA Posted November 28, 2019 Report Share Posted November 28, 2019 (edited) если стандартными методами без доработки то на странице товара так {foreach $category->path as $cat} {$cat->name|escape} {/foreach}{$product->name|escape}Так пробовал, не работает.Речь идет о файле yandex-search.php либо, что тоже самое, yandex.php Edited November 28, 2019 by FDA Quote Link to post Share on other sites
LUN Posted December 2, 2019 Report Share Posted December 2, 2019 Подскажите, где можно вживую потрогать данный поиск? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.