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
Добрый день, в файл не выводится категория, если все товары находятся в одной единственной категории без вложений(Каталог).
Александр, добрый день! А в дереве эта категория отображается? Ее возможно отметить галочкой? В выгрузку попадают опубликованные, неудаленные категории товаров Minishop'a (т.е. у нее должен быть синий значок в дереве)
Есть категория минишопа «Каталог»(значок синий), parent у нее 0 по идеи, не мсный, если товар добавить в нее без вложений, то компонент почему-то эту категорию не выводит:
""
И как уже писал в комментариях к компоненту:
выводит неполный дискриптор "<description/>", открытия тега нет,
если интро пустое, можно если пустое хотя бы выводить pagetitle.
И яндекс хочет "<local_delivery_cost>250</local_delivery_cost>", ругается при отсутствии
А так задумка хорошая))))
""
И как уже писал в комментариях к компоненту:
выводит неполный дискриптор "<description/>", открытия тега нет,
если интро пустое, можно если пустое хотя бы выводить pagetitle.
И яндекс хочет "<local_delivery_cost>250</local_delivery_cost>", ругается при отсутствии
А так задумка хорошая))))
Здравствуйте! Не могли бы Вы для новичка немного подробнее описать, как прописывать соответствие TV-параметра и yml-тега? Например, у меня есть TV-параметр market_categories (нужен именно этот тег, чтобы маркет так раскладывал наши товры по своим категориям, как мы ему скажем) и я хочу, чтобы для каждого товара в yml присутствовал тег <market_categories>ЗНАЧЕНИЕ_ИЗ_TV_ПАРАМЕТРА</market_categories>
В чем собственно недопонимание. Я зашел в настройки системы, отфильтровал по yandexmarket, создаю новый параметр и вот тут вопрос, в какие поля что писать и как писать, чтобы это было синтаксически корректно? Заранее спасибо за любое возможно содействие!
В чем собственно недопонимание. Я зашел в настройки системы, отфильтровал по yandexmarket, создаю новый параметр и вот тут вопрос, в какие поля что писать и как писать, чтобы это было синтаксически корректно? Заранее спасибо за любое возможно содействие!
Добрый вечер!
Вам нужно настроить параметр ms2ym_additional_fields (Дополнительные поля)
Формат этого поля такой:
Вам нужно настроить параметр ms2ym_additional_fields (Дополнительные поля)
Формат этого поля такой:
TV-Name1=>Yml-Name1;TV-Name2=>Yml-Name2
Соответственно в вашем случае (если TV и yml тэг называются одинаково), будет market_categories=>market_categories
Если я Вас правильно понял, то сделал, как Вы говорите, но выгрузка вся равно не меняется. Есть подозрение, что я не замечаю чего-то очевидного:D Прикладываю на всякий случай скриншот параметра, возможно вы что-то заметите.
P.S. Значение указывал как с ";" так и без нее. Аналогично пробовал указывать запись словаря для раздела (ms2ym_main) и пробовал ее не указывать(
P.P.S. Да, market_category, а не market_categories — это я ошибся, когда писал первый комментарий
P.S. Значение указывал как с ";" так и без нее. Аналогично пробовал указывать запись словаря для раздела (ms2ym_main) и пробовал ее не указывать(
P.P.S. Да, market_category, а не market_categories — это я ошибся, когда писал первый комментарий
На вид все верно, но работающего сайта под рукой нет, проверить не могу.
А у вас вообще не появляется нового тега в выгрузке? Или появляется, но пустой?
А у вас вообще не появляется нового тега в выгрузке? Или появляется, но пустой?
У меня тоже не получается добавить дополнительное поле, как быть?
В настройках параметра ms2ym_additional_fields нет, создал его вручную и прописал:
В настройках параметра ms2ym_additional_fields нет, создал его вручную и прописал:
sales_notes=>sales_notes
ничего не вышло :)
Получилось?
Не помню, давно было ))
Я попробовала — все получилось.
Добрый день. Модуль живой? Разработчик оказывает техподдержку?
msYmarket — справится с 5000 товарами за раз? В один файл.
В какую папку попадает фаил выгрузки? что скрывается за /.../?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.