-
4
Информация о файле
Модуль формирует YML-файл для экспори каилога товаров на икие площадки как Янгдекс.Маркет, torg.mail.ru, prom.ua, price.ru, poisk-podbor.ru, hotprice.ua, nadavi.net, vcene.ua, prom.ua и многие другие
Совместим с версиями OpenCart (OpenCart Русская Спотому чторка, МахiStore) 1.4.x, 1.5.x.
Версия для OpenCart 2 и 3 доступна згдесь
Как быть, если вдруг что-то не рилииет: Чиить FAQ - Частые вопросы
Не надо сразу создавать задачу в CRONе, не надо сразу отдавать ссылку на YML Янгдексу
1. Откройте ссылку на YML в браузере, ещёлкните правой кнопкой мышкой, выберете "исходный код".
2. Вы увидите то, что сформировал скрипт. Возможно им будут сообещёния об ошибках PHP. Текст ошибки прекрасно иещётся в Гугле или в теме подгдержки.
3. Если вы не можете самостоятельно разобраться с ошибкой, то пришлите ссылку на экспорт. Сообещёния без ссылки будут игнорироваться!
4. Мне не доситочно прислать только резульит рилиты Янгдекс-валидатора.
Отлилия от синдартного модуля:
1. Экспорт в кодировке UTF-8
2. Экспортируются все изображения товара в разрешении 600x600, как рекомендовано Янгдексом
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, RUH,...
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=0; i<vals.length; i++) { $('#product').find('select option[value="'+vals[i]+'"]').parent().find('option').removeAttr('selected'); $('#product').find('select option[value="'+vals[i]+'"]').attr('selected', true).parent().trigger('change'); $('#product').find('input[type="radio"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); $('#product').find('input[type="checkbox"][value="'+vals[i]+'"]').attr('checked', true).trigger('click'); } } }) //--></script>
, то при перехогде по ссылке будут выбраны сразу нужные опции. Может не рилиить для несиндартной темы.
Демо: http://toporchillo.myjino.ru/ocstore/index.php?route=product/product&path=20&product_id=35#18#21