Yandex.Market 0.0.1

Недавно в нашем магазине вышло новое дополнение msYmarket. Выкладываем небольшой анонс от разработчика, Василия Родина.

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

При разработке решались 2 основные задачи:
  • Предоставить гибкий функционал для выбора товаров
  • Дать возможность синхронизировать любые дополнительные поля (помимо базовых)
Выбор товаров


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

Выгрузка


Здесь за основу был взят этот скрипт Василия Наумкина. Он был доработан для использования фильтров. Все параметры (информация о магазине, используемые валюты) задаются в общих настройках сайта. Базовые поля Minishop2 конвертируются в соответствующие поля YML-файла.

Очевидно, что во многих случаях базовых полей было бы недостаточно. Если в Вашем магазине настроены дополнительные TV-параметры — их очень легко синхронизировать с нужными полями YML-файла. Для этого достаточно свериться с документацией Яндекса и найти там нужный элемент.

Допустим, нам нужно добавить в выгрузку поле manufacturer_warranty (Элемент предназначен для отметки товаров, имеющих официальную гарантию производителя). Заводим в админке TV-параметр, в котором будет содержаться нужное нам значение, а в настройках выгрузки прописываем соответствие: название TV-параметра => название тэга в YML-файле.
Пока это решение видится мне наименее трудозатратным и наиболее гибким.

Что дальше?
Теперь, когда базовая версия компонента готова к использованию, можно задуматься о расширении фильтров, более удобном интерфейсе и поддержке «из коробки» различных типов товаров

Спасибо за внимание!
Leonid Krylov
17 июня 2014, 12:10
modx.pro
5 924
+4

Комментарии: 14

Гриневич Александр
20 июня 2014, 13:10
0
Добрый день, в файл не выводится категория, если все товары находятся в одной единственной категории без вложений(Каталог).
    Vasiliy Rodin
    23 июня 2014, 18:29
    0
    Александр, добрый день! А в дереве эта категория отображается? Ее возможно отметить галочкой? В выгрузку попадают опубликованные, неудаленные категории товаров Minishop'a (т.е. у нее должен быть синий значок в дереве)
      Гриневич Александр
      23 июня 2014, 21:34
      0
      Есть категория минишопа «Каталог»(значок синий), parent у нее 0 по идеи, не мсный, если товар добавить в нее без вложений, то компонент почему-то эту категорию не выводит:
      ""
      И как уже писал в комментариях к компоненту:
      выводит неполный дискриптор "<description/>", открытия тега нет,
      если интро пустое, можно если пустое хотя бы выводить pagetitle.
      И яндекс хочет "<local_delivery_cost>250</local_delivery_cost>", ругается при отсутствии

      А так задумка хорошая))))
    Sokoloff06
    24 августа 2015, 17:33
    0
    Здравствуйте! Не могли бы Вы для новичка немного подробнее описать, как прописывать соответствие TV-параметра и yml-тега? Например, у меня есть TV-параметр market_categories (нужен именно этот тег, чтобы маркет так раскладывал наши товры по своим категориям, как мы ему скажем) и я хочу, чтобы для каждого товара в yml присутствовал тег <market_categories>ЗНАЧЕНИЕ_ИЗ_TV_ПАРАМЕТРА</market_categories>

    В чем собственно недопонимание. Я зашел в настройки системы, отфильтровал по yandexmarket, создаю новый параметр и вот тут вопрос, в какие поля что писать и как писать, чтобы это было синтаксически корректно? Заранее спасибо за любое возможно содействие!
      Vasiliy Rodin
      24 августа 2015, 23:58
      1
      +2
      Добрый вечер!
      Вам нужно настроить параметр ms2ym_additional_fields (Дополнительные поля)
      Формат этого поля такой:
      TV-Name1=>Yml-Name1;TV-Name2=>Yml-Name2
      Соответственно в вашем случае (если TV и yml тэг называются одинаково), будет
      market_categories=>market_categories
        Sokoloff06
        25 августа 2015, 12:12
        0
        Если я Вас правильно понял, то сделал, как Вы говорите, но выгрузка вся равно не меняется. Есть подозрение, что я не замечаю чего-то очевидного:D Прикладываю на всякий случай скриншот параметра, возможно вы что-то заметите.

        P.S. Значение указывал как с ";" так и без нее. Аналогично пробовал указывать запись словаря для раздела (ms2ym_main) и пробовал ее не указывать(



        P.P.S. Да, market_category, а не market_categories — это я ошибся, когда писал первый комментарий
          Vasiliy Rodin
          26 августа 2015, 09:01
          0
          На вид все верно, но работающего сайта под рукой нет, проверить не могу.
          А у вас вообще не появляется нового тега в выгрузке? Или появляется, но пустой?
            Максим
            11 декабря 2015, 22:04
            0
            У меня тоже не получается добавить дополнительное поле, как быть?
            В настройках параметра ms2ym_additional_fields нет, создал его вручную и прописал:
            sales_notes=>sales_notes
            ничего не вышло :)
              adminixi
              27 июля 2017, 14:55
              0
              Получилось?
                Максим
                27 июля 2017, 15:50
                0
                Не помню, давно было ))
                adminixi
                27 июля 2017, 15:22
                0
                Я попробовала — все получилось.
        Сергей Лим
        16 марта 2016, 10:33
        0
        Добрый день. Модуль живой? Разработчик оказывает техподдержку?
          Alexander Kirillov
          06 апреля 2016, 08:36
          0
          msYmarket — справится с 5000 товарами за раз? В один файл.
            Марина
            15 апреля 2019, 13:16
            0
            В какую папку попадает фаил выгрузки? что скрывается за /.../?
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              14