Miami: перенос данных из OpenCart в Битрикс

Начальные данные

Мне выданы следующие доступы:

  • ftp - работает
  • PhpMyAdmin - работает
  • Админка сайта - работает

Техническое задание

Нужно перенести товары и категории с opencart на 1С-Битрикс в соответствии со следующей схемой.

Таблица соответствия полей. Версия #1

# OpenCart Bitrix Пре-
фикс
Комментарий
Таблица Поле Раздел
Элемент
Поле
1 oc_category category_id Раздел Внешний код GR-
2 oc_category_description name Раздел Название
3 oc_category_description meta_title Раздел Шаблон META TITLE Скопировать или
макросы прописать?
4 oc_category_description meta_h1 Раздел Заголовок элемента Скопировать или
макросы прописать?
5 oc_category_description meta_description Раздел Шаблон META DESCRIPTION Скопировать или
макросы прописать?
6 oc_product product_id Элемент Внешний код PR-
7 oc_product price Элемент ? Мне нужно заглянуть в Битрикс,
что бы понять
в какой поле отправлять цену
8 oc_product image Элемент Детальная картинка
9 oc_product_description name Элемент Название
10 oc_product_description description Элемент Детальное описание
11 oc_product_description meta_title Элемент Шаблон META TITLE Скопировать или
макросы прописать?
12 oc_product_description meta_h1 Элемент Заголовок элемента Скопировать или
макросы прописать?
13 oc_product_description meta_description Элемент Шаблон META DESCRIPTION Скопировать или
макросы прописать?
14 oc_product_quantity quantity Элемент Количество товара

Таблица соответствия полей. Версия #2

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

# OpenCart Bitrix Пре-
фикс
Таблица Поле Раздел
Элемент
Поле
1 oc_category category_id Раздел Внешний код GR-
2 oc_category_description name Раздел Название
3 oc_product product_id Элемент Внешний код PR-
4 oc_product price Элемент Базовая цена
5 oc_product image Элемент Пользовательское свойство
6 oc_product_description name Элемент Название
7 oc_product_description description Элемент Детальное описание
8 oc_product_quantity quantity Элемент Количество товара

Итого нужны следующие таблицы:

  1. oc_category
  2. oc_category_description
  3. oc_product
  4. oc_product_description
  5. oc_product_image
  6. oc_product_quantity
  7. oc_product_to_category

Пояснения к таблице

  • Естественно, что структура сохранится

Обсуждение

Цена

Contractor: В тех-задании было сказано "Перенести цену", но я там не нашел цены.

Client: В таблице oc_product должно быть поле price - это цена

Contractor: Нашел и поправил.

GUID

Contractor: Нужно ли переносить GUID 1C?

Client: По поводу GUID 1C поясните, пожалуйста, что это и не понадобится ли он для последующей настройки обмена с 1с?

Contractor: Я попозже объясню

Картинки

Contractor: Насчет картинок - я там не совсем понял. То, как сделано в OpenCart, не соответствует то, что мы обсуждали по телефону. Я глубже посмотрю и подумаю что и каким образом сделать с изображениями.

Client: Путь до картинок указан в поле image в таблице oc_product в таком формате "catalog/files/799195cc-afe1-45b0-b9ac-901abd55b4de/1463495083_332.jpg", можно поступить следующим образом: копировать значения как есть, на сервере с битриксом создать папку catalog/files/ и переместить туда все картинки и папки

Contractor: Принял во внимание

Исполнение

При выгрузке данных из админки OpenCart появляется ошибка и выгрузка не делается, поэтому данные буду брать из PhpMyAdmin.

Категории

Здесь представлены категории, поля которых получены из нескольких таблиц:

Категории OpenCart, поля которых получены из нескольких таблиц

По этой закладке можно определить следующее. Максимальная длина поля "name" составляет 70 символов. Это нужно для задания длины наименования в промежуточном 1С-справочнике. Мета поля (за исключением 163-ти строк) подчинаются следующим формулам:

  • [meta h1] = "Купить "+[name]
  • [meta description]="В компании ... вы можете купить "+[name]+" по самым выгодным ценам. "+[name]+" с доставкой по всей России"

Проверка на уникальность наименований показала, что среди 3'098 строк имеются 224 неуникальные строки. На данный момент я пока не знаю как в магазине будет организован просмотр разделов, но если эти наименования разделов напрямую попадут в "H1" и другие метатеги, это будет очень плохо для SEO.

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

Неуникальные названия категорий

Продукты

Вот так выглядит промежуточная таблица продуктов, составленная из нескольких таблица:

Продукты  OpenCart, поля которых получены из нескольких таблиц

Между наименованием и мета-данными обнаруживаются следующие зависимости:

  • [meta title] = [name]+" купить"
  • [meta h1] = [name]+" купить"
  • [meta description] = "На сайте компании ... Вы можете купить " + [name]+" по самой низкой цене и с доставкой по всей России"

Проверка наименований товаров на уникальность показала, что среди 62'295-ти товаров, есть 301-но неуникальное наименование. Это очень плохо для SEO. Вот список неуникальных наименований:

Список неуникальных наименований товаров

Результат

Вот так выглядит список разделов в Битриксе:

Список разделов в Битриксе

Вот так выглядит список элементов в Битриксе:

Список элементов в Битриксе

Вот так выглядит фрагмент карточики элемента Битрикса, в котором видно название и внешний код:

Список элементов в Битриксе

Вот так выглядит фрагмент карточики элемента Битрикса, в котором видна цена:

Список элементов в Битриксе

Вот так выглядит фрагмент карточики элемента Битрикса, в котором видно количество:

Список элементов в Битриксе

Обратная связь

Инструкция Согласитесь с политикой конфиденциальности, подтвердите, что Вы не робот и нажмите кнопку «Отправить». Если Вы отправите форму на web-сервер без подтверждения «Я не робот», тогда web-сервер ничего делать не будет.