Импорт объектов на сайт средствами Excel и XML
При работе с большим объёмом данных и при необходимости периодически актуализировать информацию на сайте все без исключения неизбежно сталкиваются с необходимостью каким-то образом автоматизировать данный процесс.
Конечно же, если у вас есть «1С» и вы без проблем настроили двусторонний обмен между сайтом и вашей «1С» — это прекрасно. Но если по каким-либо причинам, а их очень много, даже при наличии «1С» вы не можете интегрировать её в сайт, то на помощь придут промежуточные инструменты обмена данными, такие как старый добрый Excel и импорт объектов из XML-фида.
Какие задачи можно решать, используя данные системы:
- Непосредственно сам импорт, как он есть. Можно быстро и удобно загружать большой объём любой информации на сайт.
- Актуализация информации по внешнему коду объекта. Допустим, у вас есть всё же «1С» или любая другая система учёта, но вы не можете её использовать прямо. Тогда вы можете настроить экспорт вашей базы с нужными столбцами в виде .xlsx файла, а его уже импортировать на сайт. На сайте и в вашей системе учёта у объектов должны быть заданы одинаковые значения внешнего кода.
- Расширение информативности. Например, в вашей системе учёта есть только несколько наборов информации: код, остаток, цена, название (и то какое-то техническое) и всё. А на сайте необходимо создать более информативные карточки. При этом менять в вашей системе ничего нельзя. Тогда мы можем экспортировать из вашей системы объекты с теми данными, что имеются, а по внешнему коду создать дополнительный объём данных и импортировать дополнительную информацию.
- Импорт не самых популярных на первый взгляд форматов. Например: документов, кодов для вставки видео с YouTube, ссылок на партнёров.
- Ещё один интересный момент, который можно реализовать при использовании импорта — это использование различных обработчиков непосредственно перед самим импортом. Это позволяет, например, изменять наименования товара по некой формуле или соединять несколько значений из разных полей в одно (склейка названия) — так можно из сухих названий, содержащихся в «1С», делать информативные заголовки, как мы их привыкли видеть на популярных сайтах: «Жесткий диск SSD, 1Tb, Toshiba». Или мы можем полностью изменить наименование товара, заменив его целиком и написав заново, исходя из наших задач.
- Работа с изображениями. Аналогичным образом можно настроить обработчика, который будет редактировать изображения непосредственно перед импортом: изменять размер, приводить к единому размеру, дополнять водяным знаком и многое другое.
- Ещё несколько хитростей связано с логикой работы с импортом и непосредственно самим сайтом. К примеру, у нас есть специальный лейбл «Новинка» у товара. И мы хотим, чтобы он ставился и снимался автоматически. Естественно, это может быть запрограммировано на самом сайте, но если такой возможности нет — то мы можем выставлять такие значения в момент загрузки. Если товар ранее не присутствовал в каталоге, то он новый — лейбл ставится. Далее отслеживается его дата создания, и если она превышает условно 7 дней, то метка снимается.
- Настройка импорта в заданный промежуток времени по cron или автоматическая обработка файла, расположенного где-то в облаке. То есть импорт может стать полностью автоматизированным. Вы по мере необходимости редактируете файл, например в «Яндекс.Диск», а импорт сам раз в час забирает файл и импортирует его на сайт.
Возможно, вы думаете, что база данных в Excel — это сложно? Давайте разбираться:
- Если создать для постоянно повторяющихся значений отдельный справочник и настроить выбор значений в виде списка, то можно не вводить каждый раз одно и то же, а просто выбирать нужное из раскрывающегося списка.
- Вы можете использовать формулы — например, для автоматического формирования пути до картинки и имени изображения.
- Наконец, вы можете отформатировать сведения как таблицу, и Excel сам будет копировать все формулы при добавлении новой строки снизу. Об этом мало кто знает, но как же это удобно.
- А еще вы можете пользоваться всеми благами поиска и замены. Например, массово менять регистр, заменять точки на запятую и так далее.
Таким образом, грамотное использование возможностей Excel не только делает работу с базой данных проще и удобнее, но и помогает существенно экономить время на заполнение данных.
Работа с XML-файлами
Конечно, работа с XML-файлом дает значительно меньше возможностей, чем использование Excel. Но для многих работа с XML гораздо проще, ведь формируется он автоматически, и если правильно разметить и сопоставить значения из полей файла в обработчике, то можно один раз настроить импорт и навсегда о нём забыть, доверив всю работу автоматическим алгоритмам. Один робот будет формировать XML-файл и выкладывать на удалённый сервер, другой будет его скачивать, третий — обрабатывать. И да, все возможности, описанные в первой части статьи, применимы и для работы с этим типом файлов импорта.
Мы часто применяем импорт из Excel- и XML-файлов на сайтах наших клиентов, один из последних примеров можно посмотреть здесь. Если захотите внедрить на своем сайте подобное решение — всегда поможем, обращайтесь!