UMIhelp
Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: Veinard от 25 Сентября 2014, 00:39:57
-
Товарищи ЮМИводы. Кто может помочь с такой деликатной темой, как интеграция магазина и мойсклад?
Интеграция сама по себе работает, и очень хорошо. Но есть одно но. Мне бы очень хотелось что-бы в обе стороны переносились данные по опциональным свойствам товаров. В магазин со склада - остатки по опциональным свойствам, из магазина на склад - заказы (плюс - телефон и почта и адрес доставки, если есть).
Сейчас при импорте заказа из магазина в склад поля "телефон, почта и адрес доставки" приходится вносить вручную.
Писал в техподдержку ЮМИ, они даже пытались помочь. Но я честно не очень разобрался с шаблонами интеграции, просто боюсь их поломать.
Задача: синхронизация с мойсклад:
1. При поступлении заказа в магазин ЮМИ в мой склад импортируется только имя покупателя, без его емайла и телефона, приходится вбивать вручную
2. При поступлении заказа в магазин ЮМИ в мой склад импортируется товары без дополнительных характеристик (цвет), приходится править вручную
3. При импорте в магазин остатков товаров из МОЙСКЛАД не импортируются характеристики (цвет), а остатки просто суммируются по всем цветам. Хотелось-бы знать сколько кокого цвета осталось в ЮМИ.
Здравствуйте, Сергей.
Для решения описанных Вами проблем необходимо кастомизировать шаблон выгрузки данных для сервиса МойСклад. Данный шаблон находится в файле \xsl\export\ordersCommerceML.xsl. Вы можете добавить определение шаблонов в файл \xsl\export\custom\ordersCommerceML.xsl для того, чтобы переопределить шаблоны исходного файла. Например, в файле \xsl\export\ordersCommerceML.xsl присутствует шаблон для вывода данных покупателя (245 строка):
<xsl:template match="object" mode="customer">
<Контрагент>
<Ид><xsl:value-of select="@id" /></Ид>
<Наименование><xsl:value-of select="//property[@name='fname']/value" /> <xsl:value-of select="//property[@name='lname']/value" /></Наименование>
<ПолноеНаименование><xsl:value-of select="//property[@name='fname']/value" /> <xsl:value-of select="//property[@name='lname']/value" /></ПолноеНаименование>
<Роль>Покупатель</Роль>
<Фамилия><xsl:value-of select="//property[@name='lname']/value" /></Фамилия>
<Имя><xsl:value-of select="//property[@name='fname']/value" /></Имя>
</Контрагент>
</xsl:template>
В данном шаблоне не выводится содержимое полей "e-mail" и "Телефон". Вы можете переопределить данный шаблон и выводить в нем содержимое данных полей.
Также, Вы можете переопределить шаблоны, отвечающие за выгрузку характеристик и остатков по каждой опции. Данные, которые будут отправлены в сервис МойСклад для импорта заказов можно посмотреть выполнив следующий запрос:
Есть ли тут те, кто действительно решал подобные задачи синхронизации? Как мне кажется, пункт 1 вообще простой. Пункты 2 и 3 наверное чуть сложнее, но не очень. Я бы даже готов посотрудничать на коммерческой основе =).
-
Сергей, доброго времени суток!
Написал в ЛС.
-
Всем привет!
Есть кто-то живой на данном форуме?
Я все-таки хочу добить данную тему с синхронизацией. В общем то скрипт синхронизации уже готов. Он даже работает. Но проблема в том, что при попытке выполнить его на хостинге - происходит превышение допустимой нагрузки на процессор.
Стоит задача теперь оптимизировать два файла CommerceML2.xml, кастомный и оригинальный. Возможно слить их в один файл. Тем самым снизив нагрузку на сервер при обработке файла.
Есть ли тут такие специалисты, кто готов добить синхронизацию до рабочего состояния или может можете посоветовать специалиста?
-
Не знаю актуален ли еще ваш вопрос, но если у вас "происходит превышение допустимой нагрузки на процессор" , то совсем не факт, что слив "два файла CommerceML2.xml, кастомный и оригинальный" вы решите данный момент.
Для начала, я бы посоветовал уменьшит кол-во элементов обрабатываемых при синхронизации за одну итерацию. Для этого, вы можете отредактировать параметр exchange.splitter.limit в файле config.ini (смотрите документацию (http://dev.docs.umi-cms.ru/nastrojka_sistemy/dostupnye_sekcii/sekciya_modules/#sel=24:1,24:3) ) уменьшив его, например до 5
-
Не знаю актуален ли еще ваш вопрос, но если у вас "происходит превышение допустимой нагрузки на процессор" , то совсем не факт, что слив "два файла CommerceML2.xml, кастомный и оригинальный" вы решите данный момент.
Для начала, я бы посоветовал уменьшит кол-во элементов обрабатываемых при синхронизации за одну итерацию. Для этого, вы можете отредактировать параметр exchange.splitter.limit в файле config.ini (смотрите документацию (http://dev.docs.umi-cms.ru/nastrojka_sistemy/dostupnye_sekcii/sekciya_modules/#sel=24:1,24:3) ) уменьшив его, например до 5
Давно дело было, но спасибо =)
Да, уже справились. С тех пор много что поменялось, но синхронизация работает теперь полноценно. Сливать не пришлось. А вот хостинг сменили =)