Модуль Яндекс.Маркет

  1. Обзор
    1. Местоположение модуля на сервере
    2. Файл выгрузки
    3. Требования для работы модуля
  2. Создание файла
  3. Требования к файлу
  4. Частые ошибки и пути решения.

1. Обзор

Модуль предназначен для выгрузки товаров, содержимых в магазине, в прайс-агрегатор Яндекс.Маркет, при помощи сгенерированного XML ( или же YML (Yandex Market Language) - стандарт, специально разработаный Яндексом, на базе XML ) файла, сгенерированного системой.

Функционал доступен пользователям ImageCMS Shop в редакциях Pro и Premium, начиная с версии 4.5.2, а также для пользователей облачного решения Premmerce.

Модуль Яндекс.Маркет предназначен исключительно для работы с прайс-агрегатором Яндекс.Маркет и изначально не должен поддерживать какие-либо другие прайс-агрегаторы, работающие с XML файлами.

Если вам необходимо осуществлять выгрузку в какой-либо другой прайс-агрегатор, работающий с XML файлами - обратитесь к вашему менеджеру по поводу индивидуальных доработок.

На данный момент, у нас есть наработки на основе стандартного модуля Яндекс.Маркет, позволяющие выгружать товары в:

Данные наработки не входят в стандартный функционал системы.

Внимание:

Просим учесть, что система ImageCMS и сервис Яндекс.Маркет развиваються независимо друг от друга.

Учитывая периодические нововведения Яндекс.Маркета, модуль ImageCMS время от времени может нуждаться в соответствующих доработках.

Актуализация модуля, для конкретного магазина осуществляеться:

  1. Путем общего обновления системы - при выходе официального обновления ImageCMS Shop, архив с файлами уже должен содержать соответствующие правки.
  2. Путем индивидуальных правок - если у вас ограниченные временные рамки и правка вам срочно необходима, в таком случае, рекомендуем вам связатся с вашим менеджером и заказать актуализацию модуля под текущие требования Яндекс.Маркет. Так как правка будет осуществляться индивидуально - работы будут осуществляться исключительно на платной основе.

Подробнее об обновлении - смотрите в статье “Обновление системы

1.1. Местоположение модуля на сервере

На сервере, модуль находиться в папке \application\modules. Имя папки ymarket, в которой содержаться:

  • папке assets
  • папке config
  • папке language
  • папке models
  • файл admin.php
  • файл index.html - пустой html-файл, который создавался для того, чтобы папка была видна на git
  • файл module_info.php - описание модуля в перечне модулей в админке.
  • файл ymarket.php

1.2. Файл выгрузки

По умолчанию,сгенерированный файл доступный по ссылке ваш_домен/ymarket. Если файл не был сгенерирован - при переходе на ваш_домен/ymarket появиться страница 404 ошибки.

Физически, файл не создаеться, то есть, в корневой папке сайта нет отдельного файла ymarket.xml

1.3. Требования для работы модуля

Модуль Яндекс.Маркет не будет работать корректно (или не будет работать совсем) если не соблюдены следующие требования:

memory_limit - парамерт, имеет прямое отношение к выгрузке в Яндекс.Маркет, так как при недостаточном его значении выгрузка фактически не происходит (при этом никаких собщений об ошибке, как правило, не отображаеться)

В соответствии с требованиями системы, магазинам с примерным количеством товаров до 15 000, требуеться объем от 512 мб. до 1 Гб.

Примечание:

Количество товаров до 15 000 - относительно и примерно. Цифра может меняться в зависимости от оформления товаров (от количества изображенией, вариантов товаров и т.д.) она может изменяться в большуюю или меньшую сторону.

В целом, если хостинг соответсвует требованиям или если вы используете наш хостинг - то проблем со стороны сервере возникать не должно.

2. Создание файла

Для того, что бы создать XML файл выгрузки, вам необходимо:

Шаг 1: Открыть модуль Яндекс.Маркет

Необходимо выбрать пункт главного меню пользователя: "Модули", а в нем подпункт: "Яндекс.Маркет":

Если в вашей админпанели в меню пункта “Модули” такого модуля нет, то "Яндекс.Маркет" находится в списке модулей, и его необходимо вывести в меню пункта “Модули”.

В меню пункта “Модули”. В списке: “Все модули” напротив модуля: "Яндекс.Маркет" необходимо перевести в активное положение ползунки, в частности, ползунок в колонке “Показывать в меню”:

Шаг 2: Выбор бренда для выгрузки

Выберите бренд (или несколько брендов) товары которого подлежат выгрузке. Выбрать необходимый бренд можно из выпадающего списка, который появляеться после клика по полю “Бренды”:

Выбрать несколько брендов, можно зажав клавишу Ctrl. Бренды должны быть предварительно созданными в системе.

Подробнее - примечание в шаге №3

Шаг 3: Выбор категории для выгрузки

Выберите товарную категорию (или несколько категорий) товары которой подлежат выгрузке. Выбрать необходимый категорий можно из выпадающего списка, который появляеться после клика по полю “Выбор отображаемых категорий”:

Выбрать несколько категорий, можно зажав клавишу Ctrl. Категории должны быть предварительно созданы в системе.

Примечание:
Возможность выбора брендов реализована начиная с версии ImageCMS Shop 4.9. В более ранних версиях возможно выбрать только товарную категорию.

При создании файла выгрузки, в зависимости от значений полей “Выбор отображаемых категорий” и “Бренды”, может быть несколько вариантов содержимого файла:

  • При значении полей: "Бренды" - ЕСТЬ и "Выбор отображаемых категорий" - НЕТ - Файл будет содержать только все товары выбраного бренда, (без привязки к товарным категориям).
  • При значении полей: "Бренды" - НЕТ и "Выбор отображаемых категорий" - ЕСТЬ - Файл будет содержать только все товары выбраных категорий, (без привязки к брендам товаров).
  • При значении полей: "Бренды" - НЕТ и "Выбор отображаемых категорий" - НЕТ - в версиях ImageCMS Shop до 4.9 файл не будет содержат никаких полезных данных (кроме стандартних блоков , currencies, categories и т.д). После версии 4.9 и 4.9 - файл будет содержать всю возможную информацию о товарах и брендах.
  • При значении полей: "Бренды" - ЕСТЬ и "Выбор отображаемых категорий" - ЕСТЬ - файл будет содержать выборку товаров (сечение), которые соответствуют выбранным параметрам (выбранные бренды + выбранные категории).

Где:

  • ЕСТЬ - в поле выбран бренд и/или категория, одна или несколько.
  • НЕТ - ничего не выбрано (пустое поле)

Шаг 4: Ячейка “Продукты для взрослых”

Если продаваемые товары относятся к розряду “для взрослых” - вам следует, согласно требованиям, отметить соответствующую ячейку

По умолчанию ячейка не выбрана.

Шаг 5: Сохранение файла

После выбора товаров для выгрузки, выборку необходимо сохранить, кликом по кнопке “Сохранить”

Шаг 6: Просмотр файла

Просмотреть полученный XML файл можно осуществив клик по ссылке XML-документ:

Файл откроеться в новой вкладке.

Шаг 7: Выгрузка файла

На данном этапе файл уже сгенерирован и его можно выгружать. Часть работ со сторони системы завершена.

Более подробную и актуальную инструкцию по продолжению выгрузки, вы можете найти в официальной документации Яндекс, в разделе “Работа с прайс-листом”.

3. Требования к файлу

Ознакомиться с актуальными требованиями к файлу, вы можете в разделе документации Яндекс “Требования к прайс-листу и формату данных

Как отдельный пункт, часто вызывающий ошибки у пользователей, мы можем вынести в данной статье следующий отрывок из раздела документации Яндекс “Формат YML”:

Стандарт YML не допускает использования в текстовых данных непечатаемых символов с ASCII-кодами в диапазоне значений от 0 до 31 (за исключением символов с кодами 9, 10, 13 — табуляция, перевод строки, возврат каретки). Это требует обязательной замены некоторых символов на эквивалентные им символьные коды:

Символ в тексте Код для YML-файла
" "
& &
> >
< &lt;
' &apos;
Примечание:

Наличие в тексте (в описаниях, мета-данных, названиях товаров, брендов и категорий а также в свойствах) перечисленных символов, без их замены - приведет к нарушению общего синтаксиса файла.

В модуле не предусмотрена возможность правки в ручном режиме сгенерированного файла. По этому рекомендуем следующее решение:

Не использовать в контенте вышеуказанных символов

В случае, если использование подобных символов необходимо (например символ “ используеться для обозначения дюйма), вам необходимо сохранить файл в формате XML, при помощи стандартного функционала вашего браузера (клик правой кнопкой - “Сохранить как”) и в ручную заменить символы на код, открыв файл в Excel, Libreoffice или аналоге.

Будьте внимательны при правке файла в ручном режиме - старайтесь не повредить теги, используемые в YML.

4. Частые ошибки и пути решения

Сервис Яндекса для обработки склонений, который раньше (до версии 4.9) использовался модулем SEO-эксперт, теперь недоступен (до версии 4.9) закрыт.

Соответственно, нужно или же исключить использование склонений в данном модуле, или же обновиться до версии 4.9. Начиная с версии 4.9, данная проблема учтена.

Яндекс Маркет не работает после обновления:

Нужно переустановить модуль Яндекс Маркет (удалить в списке модулей, а затем установить снова из соответствующей вкладки в списке всех модулей).

Не все изображения товарных позиций выгружаются в ЯндексМаркет xml:

Попробуйте в файле application\modules\ymarket\ymarket.php на строке 53

$this->offers[$unique_id]['picture'] = array_merge(array(productImageUrl('products/main/' . $v->getMainImage())), $additionalImages);

убрать

, $additionalImages

Яндекс не воспринимает курс валют:

Попробуйте поправить содержимое файла yandex.tpl в папке /application/modules/ymarket/assets/ на строке 15 должен быть участок кода:

<currency id="{echo $currency['code']}" rate="{echo number_format(1/$currency['rate'], 3)}"/>

Выгрузка не происходит (нет никаких ошибок)

Параметр memory_limit имеет прямое отношение к выгрузке в Яндекс.Маркет, так как при недостаточном его значении выгрузка фактически не происходит (при этом никаких собщений об ошибке, как правило, не отображаеться)

В соответствии с требованиями системы, магазинам с примерным количеством товаров до 15 000, требуеться объем от 512 мб. до 1 Гб.