В большинстве проектов разработанных на 1С-Битрикс требуется настроить выгрузку или загрузку товаров. Самый лучший вариант – написать индивидуальный скрипт-загрузчик под конкретные задачи. Из данной статьи вы поймете почему это так, и узнаете в чем заключаются основные отличия разных форматов.
В этой статье вы не найдете про парсинг сайтов, хотя парсингом тоже занимаюсь 🙂 Если вам интересна данная услуга, пишите на мой емейл. Сегодня разберем основные форматы для загрузки и выгрузки, их плюсы и минусы, а также особенности работы с битриксом.
Стандартные способы выгружать и загружать данные в 1С-Битрикс
В системе битрикс предусмотрено всего несколько видов стандартной загрузки и выгрузки данных. Первый из них это Импорт\Экспорт Информационных блоков:
Именно инфоблоки являются основным инструментом, в которым мы храним данные. Этакая “часть базы данных” в удобном представлении.
При Импорт\Экспорте доступны 2 формата:
1. CSV – это простейший формат, который можно открыть в экселе и увидеть наглядно структуру файла в виде таблицы (правда, иногда в сломанной кодировке, т.к. эта программа почему-то любит windows-1251). Если открыть в блокноте, этот формат имеет вид:
Артикул; Название товара; Цена (руб.) 123; Жвачка для рук; 1000 234; Шар желаний; 1500
В качестве разделителя выступает точка с запятой. С CSV приятно работать, и файлы в таком формате имеют наименьший вес – в нем просто нет ничего лишнего.
Правда есть один неприятный нюанс – В Битриксе вы не сможете адекватно выгрузить и затем загрузить данные о товаре, если делать это через Импорт \ Экспорт инфоблока. При этом варианте отсутствуют основные поля каталога, цены и количество, какой в этом смысл? Кроме того, ссылки для изображений указывают на папку /upload/, как вы поймете что вам копировать а что нет? Это можно исправить написав свой скрипт, но об этом позже.
2. XML – тут дела обстоят получше, когда речь заходит о более полной структуре данных. Тут вам и дерево из разделов, и все свойства из информационного блока, и даже цены. По сравнению с CSV форматом, все изображения собираются в отдельную папку, с таким же самым названием, которое мы давали файлу, что несомненно плюс.
Из частых проблем я бы выделил:
– сам формат сложнее в плане чтения и работы с ним (в случае если захотите что-то добавить через редактор)
– при выгрузке товары выгружаются в новый инфоблок (а должно загружаться в старый)
Как видите, если вы автоматом собираете XML выгрузку, например, из программы 1С, и после этого загружаете без проблем на свой сайт, то XML очень даже хороший формат. Но как показывает практика, это очень редкие случаи.
Какая выгрузка на проектах сделанных на 1С-Битрикс самая лучшая?
Выгрузка в формате CSV, XLSX или XLS для CMS 1С-Битрикс написанная вручную
По моему опыту, самый лучший вариант, это написать уникальный загрузчик. Почему?
1. Будет использован формат данных, к которому привыкли вы и ваши коллеги / партнеры. Например, если у вас сохраняется определенная последовательность полей – “Название, Артикул, Цена, Вес”, то в самом скрипте будет прописано “искать товары по Артикулу, если ничего не найдено искать по Названию, если товар найден поменять его Цену и Вес“.
2. При желании файл может загружать картинки из определенных папок и даже сторонних сайтов. Задавать картинки для товаров можно будет не только для полей “Картинка для анонса” и “Детальная картинка”, но и перезаписать часто используемое свойство типа Файл, с отметкой Множественное.
3. Можно будет задать более сложную логику загрузки. Например, у ваших товаров есть свойство бренд, и вы хотите чтобы всем товарам также отмечался раздел, с соответствующим брендом. Все ограничивается лишь поставленной задачей, в рамках более сложной логики загрузки можно учесть многие нюансы, которые применимы только в вашем бизнесе или проекте.
При разработке такого скрипта код пишется с нуля на языке PHP при использовании Bitrix API, и не содержит лишних строчек.
Форматы файлов могут быть любыми: CSV, XML, XLSX, XLS, YML, JSON и т.д.
Вас интересует данная услуга? Свяжитесь со мной, отвечу на все вопросы и помогу с реализацией.
Для примера отчет одного из таких загрузчиков, который видно сразу после выполнения скрипта:
Отчет помогает искать любые несоответствия в базе, исправлять ошибки.
Во время выполнения скрипта можно добавить прелоадер и разбить загрузку на шаги:
Также, есть вариант загрузки в битрикс с другой базы данных (при условии что к ней есть доступ). Плюс этого способа в том, что запросы к базе данных работают очень быстро.
Спасибо большое за помощь!)
Спасибо за отзыв 🙂 обращайтесь
А как быть с парсингом контента со стороннего сайта? хотим продавать их продукцию на своем сайте
Написал вам на емейл. Продублирую ответ тут, вдруг кому пригодится.
1. при помощи парсинга собирается структура разделов и загружается на ваш сайт
2. в эти разделы загружаются товары с ценами, картинками и характеристиками
3. при необходимости, информацию можно периодически обновлять (можно вычесть из стоимости, если этот пункт не нужен)
Дмитрий, как можно с вами связаться ? Вопрос по загрузчику товара на сайт.
скинул вам контакт на почту)
Как можно с вами связаться?
forwww.ru
Дмитрий, добрый день. Хотел уточнить по поводу парсинга контента со сторонних сайтов (т.к поставщиков много), с возможностью периодично обновлять
Здравствуйте, смогу глянуть после 17 января, если задача будет актуальна пишите на dmitriyribka@gmail.com