Данное дополнение было удалено с репозитория и на замену ему пришло дополнение mSync
, но некоторые сайты до сих пор используют msklad
для решения задач, именно для них, я думаю, эта статья будет полезной.
Подготовка
Для работы с msklad
необходимо предварительно установить дополнения Console
и miniShop2
.
После установки всех необходимых дополнений для импорта из 1С требуются два файла: import.xml
и offers.xml
import.xml
— основной файл, содержит структуру каталога и сами товарыoffers.xml
— содержит характеристики товара, ценовые предложения и тд
Заходим в панель управления сайта, затем закачиваем файлы в папку assets/components/msklad/1c_temp
Настройки MiniShop2
Для успешного импорта достаточно создать ресурс — категория товаров
.
Настройки mSklad
Заходим в "Системные настройки" в параметрах отбора выбрать "msklad", затем изменить следующие параметры:
- ID категории каталога - ID ресурса созданной категории товаров
- создавать tv - да
- Лимит выполнения - 29
Процесс импорта
В системных настройках необходимо скопировать следующие значения параметров:
- Логин для CommerceML
- Пароль для CommerceML
Переходим на сайт base64.ru и вставляем в верхнее поле строку вида - логин:пароль Должно получится чтото типо такой комбинации - mSync:0bda22998c0411c000004d41630fcd3
Копируем из нижнего поля полученную строку
(пример строки авторизации: bVN00M6MGJkYTIyOTk4YzA0MTFj00000Y0NGQ0MT000ZDM=
)
Затем формируем ссылку, где "сайт" это адрес сайта, а "строка_авторизации" это полученная выше строка
импорт товаров:
http://сайт/assets/components/msklad/1c_exchange.php?http_auth=htauth:строка_авторизации&type=catalog&mode=import&filename=import.xml
Вставляем полученную строку в браузер и переходим по ссылке (обновляем страницу (f5), тем самым повторяем данную операцию пока не покажется сообщение об успешном завершении импорта "success")
импорт характеристик:
http://сайт/assets/components/msklad/1c_exchange.php?http_auth=htauth:строка_авторизации&type=catalog&mode=import&filename=offers.xml
Алгоритм тотже
Если импорт завис или требуется сделать повторный импорт, тогда заходим в "Console" и выполняем следующий запрос:
<?php
unset($_SESSION['last_1c_offer']);
unset($_SESSION['importFinish']);
unset($_SESSION['lastCategory']);
unset($_SESSION['totalCategories']);
unset($_SESSION['lastProperty']);
unset($_SESSION['totalProperties']);
unset($_SESSION['lastImportProduct']);
unset($_SESSION['lastProduct']);
unset($_SESSION['totalProducts']);
unset($_SESSION['categories_mapping']);
unset($_SESSION['properties_mapping']);
unset($_SESSION['feature_mapping']);
unset($_SESSION['price_mapping']);
$_SESSION['feature_mapping'] = array();
Обновляем страницу с ресурсами и видим результат импорта в категории товаров.
Примечание
По умолчанию все стандартные поля автоматически записываются в поля товаров минишопа, а все поля 1С которые были добавлены в товар самостоятельно, записываются в отдельные тв поля. Если требуется сделать импорт не в тв поле, а в поле товара, достаточно после импорта зайти в "Приложения" -> "mSync" и изменить "тип поля" на "поле msProduct" а в параметре "цель" указать название поля.