Экспорт в Яндекс.Маркет
Модуль формирует YML-файл для экспорта каталога товаров на такие площадки как Яндекс.Маркет, torg.mail.ru, price.ru, poisk-podbor.ru, hotprice.ua, nadavi.net, vcene.ua, prom.ua и многие другие
Совместим с версиями OpenCart (ocStore, МахiStore) 1.4.x, 1.5.x.
Версия для OpenCart 2.x доступна здесь
Покупая модуль, вы можете его использовать не более, чем на одном сайте Интернет магазина. Автор оставляет за собой право отказать в технической поддержке тем, кто использует купленный один раз модуль на нескольких сайтах.
Отличия от стандартного модуля:
1. Экспорт в кодировке UTF-8
2. Экспортируются все изображения товара в разрешении 600×600, как рекомендовано Яндексом
3. В экспорте присутствуют аттрибуты, показывающие возможность самовывоза товара и наличие точки продаж
4. Экспортируются атрибуты товаров
5. Экспорт товаров, имеющих отношение к удовлетворению сексуальных потребностей, производится с соответствующим тэгом
6. Для товаров с опциями, отвечающими за “цвет” и “размер” в экспорте формируются несколько товарных предложений. Так Яндекс рекомендует экспортировать одежду, обувь и т.п. Для каждого цвета-размера формировать свое товарное предложение
7. Имеется возможность формировать файл экспорта не по запросу Яндекса, а по планировщику (Cron). Это удобно (и необходимо) тогда, когда файл экспорта формируется настолько долго, что Web-server закрывает соединение, и в результате, ничего не экспортируется.
8. Возможность экспортировать все товары с признаком “под заказ”. Яндекс требует экспортировать все товары со сроком доставки более двух дней с признаком “под заказ”.
9. Возможность экспорта тэга market_category, который, как оказалось, обязателен для попадания в Яндекс.Гардероб
10. Возможность экспорта тэгов <manufacturer_warranty>, <country_of_origin>, <sales_notes>, <typePrefix>, <barcode>, <cpa>
11. Настраиваемое количество экспортируемых изображений
12. Черный список товаров – можно выбрать конкретные товары, которые в Яндекс.Маркет выгружать не требуется
13. Добавлен клон модуля, который позволяет формировать второй экспорт со своими настройками (этот пункт в стадии бета)
14. Экспорт тэга <oldprice>, который нужен для расчета процента скидки Яндексом
15. Экспорт сопутствующих товаров в тэге <rec> или тэгах <accessory>
16. Генерация YML блоками, снижено потребление памяти.
На самом дешовом тарифе хостинга Jino удалось сгененрировать файл экспорта на 100МБ!
Демо: экспорт (YML), админка (login: demo, пароль: demo)
Скрипт export/yandex_yml.php предназначен для запуска по планировщику. Его запускать через SSH. Он сформирует файл экспорта export/yandex_yml.xml, который и нужно отдавать Яндексу.
Не забудьте дать папке export права на запись 777.
Такой способ экспорта предпочтительнее, чем по прямой ссылке /index.php?route=feed/yandex_yml
Пример настройки запуска скрипта по расписанию для хостинга jino.ru
1. Читаем общее описание запуска скриптов по расписанию http://www.jino.ru/support/faq/cron/
2. В командной строке запуска скрипта пусть к PHP должен быть полный. Для хостинга jino.ru путь такой:
Цитата
Для PHP 5.2:
CLI: /usr/local/bin/php-cli
CGI: /usr/local/bin/php-cgi
Для PHP 5.3:
CLI: /usr/local/zend-5.3/bin/php-cli
CGI: /usr/local/zend-5.3/bin/php-cgi
Для PHP 5.4:
CLI: /usr/local/zend-5.4/bin/php-cli
CGI: /usr/local/zend-5.4/bin/php-cgi
3. У меня для запуска скрипта вот такая командная строка:
/usr/local/bin/php-cli ~/domains/toporchillo.jino.ru/ocstore/export/yandex_yml.php
Возможные проблемы и их решение.
1. XML-экспорт открылся быстро, но он пустой
Убедитесь, что статус модуля в его настройках “Включен”, убедитесь, что вы выбрали хотя бы одну категорию с товарами для экспорта
2. XML-экспорт долго открывается, но он пустой, либо ошибка:
Maximum execution time of 30 seconds exceeded
У вас так много товаров, что скрипт не успевает сформировать экспорт за отведенное время. Формируйте экспорт через SHELL
3. Данные в форме настройки модуля сохраняются не полностью.
Увеличте ваш параметр max_input_vars в настройках PHP
4. В форме настройки модуля пустой список валют
Проверьте ваши валюты. Их коды должны быть ISO-кодами.: RUB, UAH,…
5. Что такое SHELL?
Вы конечно знаете, что такое командная строка. В UNIX-системах она называется SHELL. Также существует протокол SSH, который позволяет запускать команды в командной строке (SHELL) удаленного сервера. Для доступа по протоколу SSH можно например использовать программу PuTTY
Интерпретатор PHP тоже можно запускать из командной строки. В качестве параметра надо передать файл с PHP-скриптом, который должен выполнить интерпретатор. В данном случает надо запускать команду:
полный_путь/php полный_путь/yandex_yml.php
Интерпретатор PHP запустит PHP-скрипт, который в свою очередь создаст XML-файл экспорта.
Кроме того, в UNIX-системах существует планировщик задач, который называется CRON. Он позволяет запускать команды SHELL по расписанию. В нашем случае нужно запускать команду:
полный_путь/php полный_путь/yandex_yml.php
На многих хостингах управление планировщиком сделано через веб-интерфейс. Надо лишь вписать команду и указать периодичность запуска, доступ через SSH при этом не требуется.
Иногда Яндекс требует, чтобы при переходе по ссылке из Маркета, у товара были сразу выбраны опции. Поэтому модуль формирует ссылку на товар с хэш-кодами (#12-13). Если внедрить на страницу товара вот этот Javascript:
<script type="text/javascript"><!-- $(document).ready(function() { var hash = window.location.hash; if (hash) { var hashpart = hash.split('#'); var vals = hashpart[1].split('-'); for (i=1; i<vals.length; i++) { $('div.options').find('select option[value="'+vals[i]+'"]').parent().find('option').removeAttr('selected'); $('div.options').find('select option[value="'+vals[i]+'"]').attr('selected', true).parent().trigger('change'); $('div.options').find('input[type="radio"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); } } }) //--></script>
то при переходе по ссылке будут выбраны сразу нужные опции. Может не работать для нестандартной темы.
[button size=”small” color=”green” style=”none” new_window=”true” link=”http://toporchillo.myjino.ru/ocstore/admin/”]Админка (demo: demo)[/su_button]
Comments ( 3 )
its suport turkish liras ?
Конечно, братан, как же могли забыть про турков
5 балов! Давно так не смеялся:)
Инфа для тех, кто хочет прикрутить выгрузку с адаптацией под украинский hotline:
скрин настроек модуля в аттаче.
через SSH не ставил, поставил через обычный Cron (хостинг Ukraine.com.ua)
Команда для крона (php 5.4):
/usr/local/php54/bin/php -f ‘/home/ваша_бд/вашсайт/www/export/yandex_yml.php
php /home/ваша_бд/вашсайт/www/export/yandex_yml.php
Условия:
Валюта – ИСКЛЮЧИТЕЛЬНО в .грн (доллар хотлайн видит, но сам бот воспринимает как гривну и делит на выставленный курс в админ. панели хотлайна)
Не хочет экспортировать все категории. Попадают все верхнего уровня и одна подкатегория. Не могу понять почему