Yandex.Market 0.0.1
Недавно в нашем магазине вышло новое дополнение msYmarket. Выкладываем небольшой анонс от разработчика, Василия Родина.
Представляю вашему вниманию компонент, который пригодится всем, кто разрабатывает или поддерживает интернет-магазин. В Яндекс.Маркете уже представлено более 10 000 магазинов, а пользуется им 14 миллионов человек (по данным самого Яндекса). Так что не стоит пренебрегать таким источником трафика — тем более теперь синхронизироваться с Яндексом можно практически в один клик.
При разработке решались 2 основные задачи:

Здесь совершенно очевидное решение — задействовать дерево категорий товаров. Велосипед изобретать не пришлось — дерево с категориями, которое реализовано в рамках Minishop2, используется и здесь.
Помимо этого я настроил фильтрацию по нескольким базовым параметрам Minishop2 — производитель, тэг и цвет. Если требуется выгрузить какие-то определенные товары, можно проставить им тэг «Яндекс.Маркет», а потом указать его в настройках выгрузки. Возможно, вам также захочется выгрузить все красные шляпы, или только телефоны от производителя Nokia :)
Выгрузка

Здесь за основу был взят этот скрипт Василия Наумкина. Он был доработан для использования фильтров. Все параметры (информация о магазине, используемые валюты) задаются в общих настройках сайта. Базовые поля Minishop2 конвертируются в соответствующие поля YML-файла.
Очевидно, что во многих случаях базовых полей было бы недостаточно. Если в Вашем магазине настроены дополнительные TV-параметры — их очень легко синхронизировать с нужными полями YML-файла. Для этого достаточно свериться с документацией Яндекса и найти там нужный элемент.
Допустим, нам нужно добавить в выгрузку поле manufacturer_warranty (Элемент предназначен для отметки товаров, имеющих официальную гарантию производителя). Заводим в админке TV-параметр, в котором будет содержаться нужное нам значение, а в настройках выгрузки прописываем соответствие: название TV-параметра => название тэга в YML-файле.
Пока это решение видится мне наименее трудозатратным и наиболее гибким.
Что дальше?
Теперь, когда базовая версия компонента готова к использованию, можно задуматься о расширении фильтров, более удобном интерфейсе и поддержке «из коробки» различных типов товаров
Спасибо за внимание!
Представляю вашему вниманию компонент, который пригодится всем, кто разрабатывает или поддерживает интернет-магазин. В Яндекс.Маркете уже представлено более 10 000 магазинов, а пользуется им 14 миллионов человек (по данным самого Яндекса). Так что не стоит пренебрегать таким источником трафика — тем более теперь синхронизироваться с Яндексом можно практически в один клик.
При разработке решались 2 основные задачи:
- Предоставить гибкий функционал для выбора товаров
- Дать возможность синхронизировать любые дополнительные поля (помимо базовых)

Здесь совершенно очевидное решение — задействовать дерево категорий товаров. Велосипед изобретать не пришлось — дерево с категориями, которое реализовано в рамках Minishop2, используется и здесь.
Помимо этого я настроил фильтрацию по нескольким базовым параметрам Minishop2 — производитель, тэг и цвет. Если требуется выгрузить какие-то определенные товары, можно проставить им тэг «Яндекс.Маркет», а потом указать его в настройках выгрузки. Возможно, вам также захочется выгрузить все красные шляпы, или только телефоны от производителя Nokia :)
Выгрузка

Здесь за основу был взят этот скрипт Василия Наумкина. Он был доработан для использования фильтров. Все параметры (информация о магазине, используемые валюты) задаются в общих настройках сайта. Базовые поля Minishop2 конвертируются в соответствующие поля YML-файла.
Очевидно, что во многих случаях базовых полей было бы недостаточно. Если в Вашем магазине настроены дополнительные TV-параметры — их очень легко синхронизировать с нужными полями YML-файла. Для этого достаточно свериться с документацией Яндекса и найти там нужный элемент.
Допустим, нам нужно добавить в выгрузку поле manufacturer_warranty (Элемент предназначен для отметки товаров, имеющих официальную гарантию производителя). Заводим в админке TV-параметр, в котором будет содержаться нужное нам значение, а в настройках выгрузки прописываем соответствие: название TV-параметра => название тэга в YML-файле.
Пока это решение видится мне наименее трудозатратным и наиболее гибким.
Что дальше?
Теперь, когда базовая версия компонента готова к использованию, можно задуматься о расширении фильтров, более удобном интерфейсе и поддержке «из коробки» различных типов товаров
Спасибо за внимание!
Комментарии: 14
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
""
И как уже писал в комментариях к компоненту:
выводит неполный дискриптор "<description/>", открытия тега нет,
если интро пустое, можно если пустое хотя бы выводить pagetitle.
И яндекс хочет "<local_delivery_cost>250</local_delivery_cost>", ругается при отсутствии
А так задумка хорошая))))
В чем собственно недопонимание. Я зашел в настройки системы, отфильтровал по yandexmarket, создаю новый параметр и вот тут вопрос, в какие поля что писать и как писать, чтобы это было синтаксически корректно? Заранее спасибо за любое возможно содействие!
Вам нужно настроить параметр ms2ym_additional_fields (Дополнительные поля)
Формат этого поля такой: Соответственно в вашем случае (если TV и yml тэг называются одинаково), будет
P.S. Значение указывал как с ";" так и без нее. Аналогично пробовал указывать запись словаря для раздела (ms2ym_main) и пробовал ее не указывать(
P.P.S. Да, market_category, а не market_categories — это я ошибся, когда писал первый комментарий
А у вас вообще не появляется нового тега в выгрузке? Или появляется, но пустой?
В настройках параметра ms2ym_additional_fields нет, создал его вручную и прописал:
ничего не вышло :)