Jump to content
toporchillo

[Поддержка] Экспорт в Яндекс.Маркет для OpenCart 1.5.x

Recommended Posts

Экспорт в Яндекс.Маркет для OpenCart 1.5.x


Экспорт в Яндекс.Маркет для OpenCart 1.5.x


Модуль формирует YML-файл для экспорта каталога товаров на такие площадки как Яндекс.Маркет, torg.mail.ru, prom.ua, price.ru, poisk-podbor.ru, hotprice.ua, nadavi.net, vcene.ua, prom.ua и многие другие

Совместим с версиями OpenCart (ocStore, МахiStore) 1.4.x, 1.5.x.

Версия для OpenCart 2 доступна здесь

Как быть, если вдруг что-то не работает: Читать FAQ - Частые вопросы

Не надо сразу создавать задачу в CRONе, не надо сразу отдавать ссылку на YML Яндексу

1. Откройте ссылку на YML в браузере, щелкните правой кнопкой мышкой, выберете "исходный код".

2. Вы увидите то, что сформировал скрипт. Возможно там будут сообщения об ошибках PHP. Текс ошибки прекрасно ищется в гугле или в теме поддержки.

3. Если вы не можете самостоятельно разобраться с ошибкой, то пришлите ссылку на экспорт. Сообщения без ссылки будут игнорироваться!

4. Мне не достаточно прислать только результат работы Яндекс-валидатора.

Внимание! Помощь в настройке, установке, объяснение "а как сделать" не входит в стоимость модуля. Ответы на большинство вопросов можно найти в теме поддержки форума.

Если вы считаете, что в модуле ошибка - пишите автору на почту. Письма без указания ссылки на YML и ошибки типа "белый экран" или "ничего не работает" будут игнорироваться.

Отличия от стандартного модуля:

 

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, 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=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

yml_logo.png


  • Добавил
  • Добавлено
    25.10.2012
  • Категория
  • Системные требования
  • Сайт разработчика
  • Старая цена
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • OpenCart
    1.5.6.4
    1.5.6.3
    1.5.6.2
    1.5.6.1
    1.5.6
    1.5.4.1
    1.5.3.1
  • ocStore
    1.5.5.1.2
    1.5.5.1.1
    1.5.5.1
    1.5.4.1.2
    1.5.4.1.1
    1.5.4.1
    1.5.3.1
    1.5.2.1
    1.5.1.3
  • OpenCart.Pro, ocShop
    OcShop 1.5.6.4.х

 

  • +1 4

Share this post


Link to post
Share on other sites

Напоминаю, что модуль отвечает за правильное формирование файла экспорта в Яндекс.Маркет. Если вы экспортировали данные в Яндекс, Яндекс экспорт принял, то работа модуля считается успешной.

Почему товары из экспорта не попадают в Яндекс.Маркет - спрашивайте у техподдержки Яндекса.

  • +1 1

Share this post


Link to post
Share on other sites

Скажите какие версии движка поддерживает, новую 1.5.4.1 поддерживает? Спасибо!

Share this post


Link to post
Share on other sites

А можно подробнее про этот пункт Скрипт export/yandex_yml.php предназначен для запуска по планировщику. Его запускать чрез shell. Он сформирует файл экспорта export/yandex_yml.xml, который и нужно отдавать Яндексу.

инструкция будет как настраивать, что бы работало по планировщику?

Share this post


Link to post
Share on other sites

Вы можете Яндексу давать вот такой URL на экспорт: /index.php?route=feed/yandex_yml в этом случае YML будет генерироваться на лету, и отдаваться через HTTP-соединение. Как правило, это работает.

Но в настройках сервера обычно стоит ограничение на время выполнения HTTP-запроса и т.д. В этом случае YML не успеет сформироваться, соединение закроется по таймауту. Такое регулярно происходит при большом количестве товаров и при стандартном способе экспорта.

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

Настройка планировщика зависит от вашего хостинга. Обычно на панели управления хостингом есть такая возможность. В качестве команды будет

php 'путь к скрипту export/yandex_yml.php'
Имеет смысл попробовать запустить скрипт через shell (SSH).
  • +1 1

Share this post


Link to post
Share on other sites

Подскажите -

1. я прально понял - если у меня есть товар "Телевизор", у него есть опция - серебристый, красный. То в выгрузке будет два товара "телевизор серебристый" + "телевизор красный". с одинаковыми урлами и картинками?

2. Этот файл не мешает работе др модулей экспортирования?

Share this post


Link to post
Share on other sites

1. Так и есть. Для одежды, обуви Яндекс так рекомендует http://help.yandex.ru/partnermarket/?id=1124379#3

Картинки, одинаковые. А у кого как сделано, чтобы при переключении опций менялись картинки? Если существует решение, как по опции определить картинку, то я сделаю, чтобы для каждой опции выгружались свои картинки.

2. Не мешает. Он не переписывает существующие модули экспорта. Стандартный Яндекс.Маркет не затрагивает.

  • +1 1

Share this post


Link to post
Share on other sites

Я извиняюсь может не в тему, а можно ли создать нечто подобное для аукциона molotok.ru?

Share this post


Link to post
Share on other sites

От тех поддержки документацию не получил, только сырой ответ, что жуёт YML

Share this post


Link to post
Share on other sites

От тех поддержки документацию не получил, только сырой ответ, что жуёт YML

Ну так попробуйте отдать Молотку стандартный YML, который готовится для Яндекса. Кто знает, что им нужно.
  • +1 1

Share this post


Link to post
Share on other sites

Да я бы попробовал, они хотят что бы я заполнил кучу документов + сделал перевод с расчетного счет в размере 500 руб. ппц.. Я думаю что в ближайшее время все таки придется это проделывать, тогда и отпишу если проблемы будут.

P/S сплошная бюрократия :-)

Share this post


Link to post
Share on other sites

Автор, можешь сделать бесплатную доставку на определенные товары, а на остальные сумму по умолчанию?

Share this post


Link to post
Share on other sites

Автор, можешь сделать бесплатную доставку на определенные товары, а на остальные сумму по умолчанию?

Да - возможность управлять стоимостью доставки (от цены, категория, конкр товаров) - было бы здорово! -)

Share this post


Link to post
Share on other sites

Да - возможность управлять стоимостью доставки (от цены, категория, конкр товаров) - было бы здорово! -)

А по какому признаку отделяются товары с бесплатной доставкой от платной? Порог стоимости? В способах доставки, которые появляются при заказе товара это как-то видно, что доставка бесплатна?
  • +1 1

Share this post


Link to post
Share on other sites

Добрый день,

Яндекс-маркет нормально проглатывает yml, НО в yml нет тегов по размерам (хотя в странице товара размеры есть). В чем проблема? как ее исправить? Спасибо!

Share this post


Link to post
Share on other sites

А по какому признаку отделяются товары с бесплатной доставкой от платной? Порог стоимости? В способах доставки, которые появляются при заказе товара это как-то видно, что доставка бесплатна?

Встречал модуль, который выводил в описании картинку именно картинку, на которой написано бесплатная доставка, если в описании товара указано "требуется доставка - нет"

Если выставить такой параметр у товара, то система предлагает оформить заказ без указания вообще способов доставки и соответственно и платы за нее. Но мне кажется, что это немного неправильно, но реально.

На шопскрипте у товаров есть конкретный параметр у товара "бесплатная доставка", а тут не ясно, то ли имеют в виду с параметром "требуется доставка" или нет. Хотелось бы решить данный вопрос в рамках обсуждения выгрузки на маркет. Очень нужен вариант с бесплатной доставкой, т.к. есть товары с рекомендуемой ценой, но можно на расходы пустить доставку.

Share this post


Link to post
Share on other sites

Мне хочется сделать какое-то решение, которое было бы "само по себе" и минимально затрагивала существующий магазин. Легко сделать у товара дополнительное поле, но это потребует изменения структуры базы. Кроме того, полей в товарах и так уже куча.

Давайте смотреть в сторону модулей способов доставки. В модулях можно установить способ "Бесплатная доставка", указав начиная с какой цены она работает. Если товар дороже Xруб., то в способах появляется бесплатная доставка. Такая организация подходит?

Share this post


Link to post
Share on other sites

Добрый день,

Яндекс-маркет нормально проглатывает yml, НО в yml нет тегов по размерам (хотя в странице товара размеры есть). В чем проблема? как ее исправить? Спасибо!

У вас размеры оформлены в виде опций? Т.е. при покупке выбирается цвет и размер?

Share this post


Link to post
Share on other sites

а тем, кто работает по схеме дропшиппинга, такой модуль подойдет? У меня склад очень маленький, в основном у большинства товаров стоит "2-3 недели", и есть часть товаров, которые вообще не надо выгружать в маркет (у таких стоит "Тираж распродан"). Как быть в таком случае?

Share this post


Link to post
Share on other sites

а тем, кто работает по схеме дропшиппинга, такой модуль подойдет? У меня склад очень маленький, в основном у большинства товаров стоит "2-3 недели", и есть часть товаров, которые вообще не надо выгружать в маркет (у таких стоит "Тираж распродан"). Как быть в таком случае?

Если у вас товара нет в наличии, то в выгрузку он попадет с признаком:

<offer id="_ID_ТОВАРНОГО_ПРЕДЛОЖЕНИЯ_" available="false">
, т.е. товара нет в наличии

Share this post


Link to post
Share on other sites

странно... в маркете вроде полно предложений, которые только под заказ. точно эту проблему никак не решить?

Share this post


Link to post
Share on other sites

Как купить? При нажатии купить - необходимо ввести Zip/Postcode, а где его искать?

Вопрос уже решен...:)

Share this post


Link to post
Share on other sites

У вас размеры оформлены в виде опций? Т.е. при покупке выбирается цвет и размер?

да. конечно. на сайте все в порядке выбирается - и цвет и размер. товар купальники и женская одежда (т.е. два типа размеров)

а в YML размеры не транслировались почему то (причем ни размеры купальников ни размеры одежды).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.