Программирование, Создание сайтов
7 декабря 2017 Иван Леонидович Рябов , Ameton

Перенос интернет-магазина с самописной CMS и настроенной интеграцией с 1С УТ на 1С-Битрикс

заказчик

Компания PROFFINSTAL - более 10 лет профессионально занимается поставками материалов и оборудования для систем отопления, водоснабжения, кондиционирования, вентиляции, очистки воды и создания домашнего комфорта

задача

Перенести существующий интернет-магазин на самописной системе управления, интегрированной с 1С УТ на CMS 1С-Битрикс. При переносе необходимо: сохранить все url сайта, перенести все разделы, товары, статьи, новости, статичные страница.

Задачу разделили на 5 этапов: Развернуть 1С-Битрикс и перенести все данные со старого сайта: разделы каталога, товары, новости, статьи, статичные страницы, покупателей; Настроить интеграцию с 1С УТ: обмен номенклатурой, заказами (у заказчика на момент перехода на Битрикс был уже реализован обмен с его текущим сайтом, методом обмена XML файлами между 1С и сайтом); Установка и настройка готового решения (заказчик остановил свой выбор на решении dw-deluxe.ru); Настройка формы вызова мастера (http://proffinstal.ru/orderForMaster/) и программирование компонента оформления заказа; Дополнительные доработки сайта под требования заказчика. Этап 1. Развернуть битрикс и перенести все данные со старого сайта. За время работы сайта контент менеджерами было добавлено большое количество информации о товарах: картинки, характеристики, описания и т.д., эти данные не хранились в 1С и задача была перенести их вместе с url адресами, meta-информацией.

Заказчик нам передал дамп базы данных от старого сайта. Так как система управления была самописная, пришло писать скрипт экспорта-импорта из БД в Битрикс.

Нет проектов без подводных камней, так и в этом: мы наткнулись на выгрузку картинок из 1С на сервер без расширений.

1С отправляла все картинки к товарам по FTP в папку с сайтом, название картинки соответствовало идентификатору товара на сайте. Проблема заключалась в том, что все картинки выгружались без расширений и после тестов выяснилось, что расширения у картинок могут быть разные: JPG, PNG. Мы написали скрипт, который сначала определяет корректное расширение картинки и только потом добавляет ее к товару.

Этап 2. Настройка интеграции с 1С Управление Торговлей. Обмен заказами и товарами. Интеграция с 1С у заключалась в передаче файла XML с товарами из 1С на сервер с данными: остатки, цены.

С интеграцией заказов пришлось повозиться, так как вместо обычной передачи заказов пришлось писать кастомную выгрузку под существующие требования клиента: после каждого совершенного заказа должно запускаться событие, по которому данные о заказе передаются на внешний веб-сервис.

Пример выгрузки заказа на внешний веб-сервис Этап 3. Установка и настройка готового решения. Заказчик остановил свой выбор на готовом решении dw-deluxe.ru

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

Этап 4. Настройка формы "вызов мастера" и программирование компонента оформления заказа. На сайте присутствовала форма "вызов мастера" (http://proffinstal.ru/orderForMaster/), мы ее переверстали под новый шаблон сайта и настроили хранение заявок в Битриксе и отправку заявок на почту менеджерам.

Вторая доработка заключалась в переносе формы оформления заказа. Стандартная форма оформления заказа Битрикс (sale.order.ajax) не подошла клиенту, поэтому было принято решение разработки собственного компонента оформления заказа с использованием верстки формы со старого сайта.

Данные о возможных способов оплаты и доставки подтягиваются из настроек в административной панели 1С-Битрикс. Все способы оплаты и типы доставки можно дополнить, удалить или отключить.

Этап 5. Доработки под требования заказчика. Третья доработка заключалась в том, что для каждой категории было добавлено новое свойство “Не отображать в каталоге и карте сайта”.

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

(список разделов в панели управления сайтом) (список разделов на сайте) Последняя доработка касается работы умного фильтра.

В стандартной логике битрикса свойства, которые отображаются в умном фильтре задаются для всех категорий одновременно и у менеджеров сайта нет возможности задавать отдельной категории отдельные свойства для фильтрации.

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

(в этом поле администраторы заполняют, какие свойства в категории отображать в умном фильтре) (вывод свойств в фильтре может отличаться в зависимости от того, какие свойства заполнит администратор) Итог Заказчик получил свой магазин на платформе 1С-Битрикс на новом шаблоне с перенесенными товарами и интегрированной 1С.

На данный момент регулярно проводятся работы по развитию сайта в рамках поддержки.


Перейти на сайт

Обсуждение