2020-12-22
22120
32
3994
11 мин.


Обновление на сайте интернет-магазина цен, наличия, фото через модуль E-Trade Tunnel для самописной CMS (SQL запросы)

Для создания шаблона выгрузки на сайт через модуль интеграции E-Trade Tunnel откройте окно "Выгрузка каталога товаров" кликнув на рабочем столе по ярлыку

или выбрав пункт меню

далее нажмите "+" и выберите формат "E-Trade Tunnel"


После создания шаблона выгрузки вы можете перейти в режим редактирования, для этого нажмите на кнопку "Карандаш".

Если вы ранее не устанавливали модуль E-Trade Tunnel на вашем хостинге, тогда это необходимо сделать по этой инструкции (до пункта загрузка данных).

Выбрать "Ручной режим (SQL)", настроить доступ к сайту и к базе данных сайта

Далее открыть раздел обновления сайта на основании SQL запросов

Пример обновления сайта на базе CMS OpenCart

Единоразово добавьте поля uuid для таблиц БД сайта для хранения идентификатора из Jumper

ALTER TABLE oc_category ADD uuid VARCHAR(36) NOT NULL, ADD INDEX (uuid);;;ALTER TABLE oc_product ADD uuid VARCHAR(36) NOT NULL, ADD INDEX (uuid);;;ALTER TABLE oc_manufacturer ADD uuid VARCHAR(36) NOT NULL, ADD INDEX (uuid);;;ALTER TABLE oc_attribute ADD uuid VARCHAR(36) NOT NULL, ADD INDEX (uuid);;;ALTER TABLE oc_attribute_group ADD uuid VARCHAR(36) NOT NULL, ADD INDEX (uuid);;;

Обновите идентификатор в поле uuid на основании таблиц БД сайта

UPDATE oc_category SET uuid=category_id WHERE uuid='';;;UPDATE oc_product SET uuid=product_id WHERE uuid='';;;UPDATE oc_manufacturer SET uuid=manufacturer_id WHERE uuid='';;;        UPDATE oc_attribute SET uuid=attribute_id WHERE uuid='';;;


Отмечаем записи во временных таблицах E-Trade, которые есть в БД сайта

Категории

UPDATE etrade_category_temp etrade_temp, oc_category c SET etrade_temp.category_id = c.category_id WHERE etrade_temp.uuid = c.uuid;;;UPDATE etrade_category_temp etrade_temp, oc_category c SET etrade_temp.parent_id = c.category_id WHERE etrade_temp.uuid_parent = c.uuid;;;UPDATE etrade_category_temp SET row_exist = 1 WHERE category_id>0;;;

Товары

UPDATE etrade_product_temp etrade_temp, oc_product p SET etrade_temp.product_id = p.product_id WHERE etrade_temp.uuid = p.uuid;;;UPDATE etrade_product_to_category_temp etrade_temp, oc_product p SET etrade_temp.product_id = p.product_id WHERE etrade_temp.product_uuid = p.uuid;;;UPDATE etrade_product_to_category_temp etrade_temp, oc_category c SET etrade_temp.category_id = c.category_id WHERE etrade_temp.category_uuid = c.uuid;;;UPDATE etrade_product_temp etrade_temp, oc_category c SET etrade_temp.category_id = c.category_id WHERE etrade_temp.category_uuid = c.uuid;;;UPDATE etrade_product_temp etrade_temp, oc_manufacturer m SET etrade_temp.manufacturer_id = m.manufacturer_id WHERE etrade_temp.manufacturer_uuid = m.uuid;;;UPDATE etrade_product_temp SET row_exist = 1 WHERE product_id>0;;;

Производители

UPDATE etrade_manufacturer_temp etrade_temp, oc_manufacturer m SET etrade_temp.manufacturer_id = m.manufacturer_id WHERE etrade_temp.uuid = m.uuid;;;UPDATE etrade_manufacturer_temp SET row_exist = 1 WHERE manufacturer_id>0;;;

Атрибуты и значения

UPDATE etrade_attribute_block_temp etrade_temp, oc_attribute_group ag SET etrade_temp.attribute_block_id = ag.attribute_group_id WHERE etrade_temp.uuid = ag.uuid;;;UPDATE etrade_attribute_temp etrade_temp, oc_attribute a SET etrade_temp.attribute_id = a.attribute_id WHERE etrade_temp.uuid = a.uuid;;;UPDATE etrade_attribute_temp etrade_temp, oc_attribute_group ag SET etrade_temp.attribute_block_id = ag.attribute_group_id WHERE etrade_temp.block_uuid = ag.uuid;;;UPDATE etrade_product_attribute_temp etrade_temp, oc_attribute a SET etrade_temp.attribute_id = a.attribute_id WHERE etrade_temp.attribute_uuid = a.uuid;;;UPDATE etrade_product_attribute_temp etrade_temp, oc_product p SET etrade_temp.product_id = p.product_id WHERE etrade_temp.product_uuid = p.uuid;;;UPDATE etrade_attribute_block_temp SET row_exist = 1 WHERE attribute_block_id>0;;;UPDATE etrade_attribute_temp SET row_exist = 1 WHERE attribute_id>0;;;

SQL запросы для вставки и обновления записей в БД сайта

UPDATE oc_category, etrade_category_temp etrade_tempSET oc_category.date_modified = NOW(), oc_category.sort_order = etrade_temp.sort_order, oc_category.status = etrade_temp.statusWHERE etrade_temp.row_exist = 1 AND etrade_temp.category_id = oc_category.category_id;;;UPDATE oc_category_description, etrade_category_temp etrade_tempSET oc_category_description.name = etrade_temp.nameWHERE etrade_temp.row_exist = 1 AND etrade_temp.category_id = oc_category_description.category_id AND oc_category_description.language_id = 1;;;UPDATE oc_manufacturer, etrade_manufacturer_temp etrade_tempSET oc_manufacturer.name = etrade_temp.nameWHERE etrade_temp.row_exist = 1 AND etrade_temp.manufacturer_id = oc_manufacturer.manufacturer_id;;;UPDATE oc_product, etrade_product_temp etrade_tempSET oc_product.date_modified = NOW(), oc_product.manufacturer_id = etrade_temp.manufacturer_id, oc_product.model = etrade_temp.model, oc_product.sku = etrade_temp.mpn, oc_product.price = etrade_temp.price, oc_product.quantity = etrade_temp.quantity, oc_product.status = etrade_temp.status, oc_product.weight = etrade_temp.weightWHERE etrade_temp.row_exist = 1 AND etrade_temp.product_id = oc_product.product_id AND etrade_temp.type_id=1;;;UPDATE oc_product_description, etrade_product_temp etrade_tempSET oc_product_description.name = etrade_temp.nameWHERE etrade_temp.row_exist = 1 AND etrade_temp.product_id = oc_product_description.product_id AND etrade_temp.type_id = 1 AND oc_product_description.language_id = 1;;;INSERT INTO oc_category (date_added, sort_order, status, uuid)SELECT NOW() as `date_added`, sort_order, status, uuidFROM etrade_category_tempWHERE row_exist = 0GROUP BY uuid;;;UPDATE etrade_category_temp etrade_temp, oc_category site_table SET etrade_temp.category_id = site_table.category_id WHERE etrade_temp.row_exist = 0 AND etrade_temp.uuid = site_table.uuid;;;UPDATE etrade_category_temp, (SELECT category_id, uuid FROM etrade_category_temp) as t2 SET etrade_category_temp.parent_id = t2.category_id WHERE t2.uuid = etrade_category_temp.uuid_parent;;;UPDATE etrade_category_temp, oc_category site_table SET site_table.parent_id = etrade_category_temp.parent_id WHERE site_table.uuid = etrade_category_temp.uuid;;;UPDATE etrade_product_temp etrade_temp, oc_category site_table SET etrade_temp.category_id = site_table.category_id WHERE etrade_temp.category_uuid = site_table.uuid;;;UPDATE etrade_product_to_category_temp etrade_temp, oc_category site_table SET etrade_temp.category_id = site_table.category_id WHERE etrade_temp.category_uuid = site_table.uuid;;;INSERT INTO oc_category_description (category_id, description, language_id, meta_description, meta_keyword, name)SELECT category_id, description_short, 1 as language_id, meta_description, meta_keyword, nameFROM etrade_category_tempWHERE row_exist = 0;;;INSERT INTO oc_manufacturer (name, uuid)SELECT name, uuidFROM etrade_manufacturer_tempWHERE row_exist = 0GROUP BY uuid;;;UPDATE etrade_manufacturer_temp etrade_temp, oc_manufacturer site_table SET etrade_temp.manufacturer_id = site_table.manufacturer_id WHERE etrade_temp.row_exist = 0 AND etrade_temp.uuid = site_table.uuid;;;UPDATE etrade_product_temp etrade_temp, oc_manufacturer site_table SET etrade_temp.manufacturer_id = site_table.manufacturer_id WHERE etrade_temp.manufacturer_uuid = site_table.uuid;;;INSERT INTO oc_product (date_added, date_available, manufacturer_id, model, sku, price, quantity, status, uuid, weight)SELECT NOW() as `date_added`, NOW() as `date_available`, manufacturer_id, model, mpn, price, quantity, status, uuid, weightFROM etrade_product_tempWHERE row_exist = 0 AND etrade_product_temp.type_id=1GROUP BY uuid;;;UPDATE etrade_product_temp etrade_temp, oc_product site_table SET etrade_temp.product_id = site_table.product_id WHERE etrade_temp.row_exist = 0 AND etrade_temp.uuid = site_table.uuid  AND etrade_temp.type_id=1;;;UPDATE etrade_product_to_category_temp etrade_temp, oc_product site_table SET etrade_temp.product_id = site_table.product_id WHERE etrade_temp.product_uuid = site_table.uuid;;;<code>UPDATE etrade_image_temp etrade_temp, oc_product site_table SET etrade_temp.item_id = site_table.product_id WHERE etrade_temp.row_type="product" AND etrade_temp.item_uuid = site_table.uuid;;;

INSERT INTO oc_product_description (description, language_id, meta_description, meta_keyword, name, product_id)
SELECT description_full, 1 as language_id, meta_description, meta_keyword, name, product_id
FROM etrade_product_temp
WHERE row_exist = 0 AND etrade_product_temp.type_id=1;;;

UPDATE etrade_image_temp etrade_temp, oc_product site_table
SET site_table.image = etrade_temp.image
WHERE etrade_temp.row_type = "product" AND
etrade_temp.item_id = site_table.product_id;;;

Описание временных таблиц и полей создаваемых при обновлении сайта

Название поляОписание
currency_idID валюты
uuidУникальный символьный идентификатор
codeКод валюты
nameНазвание валюты
rateКурс валюты
is_defaultФлаг - валюта по умолчанию
Название поляОписание
language_idID языка
uuidУникальный символьный идентификатор
codeКод языка
nameНазвание языка
is_defaultЯзык по умолчанию
code_from_siteКод языка загруженный с сайта
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
contractor_idID контрагента
uuidУникальный символьный идентификатор
group_nameНазвание группы контрагентов
nameНазвание контрагента
statusАктивность
countyСтрана
cityГород
addressАдрес
address_lawАдрес юридический
phonesТелефон
urlСсылка на сайт
emailЭл. почта
contact_personКонтактная персона
descriptionПримечание
sort_orderПорядок сортировки
Далее могут присутствовать поля созданнные пользователем
Название поляОписание
uuidУникальный символьный идентификатор
codeКод
nameНазвание
is_base_unitФлаг - базовая единица
statusАктивность
unit_nameНазвание
unit_name_aliasНазвание синоним
unit_name_localНазвание локально
typeТип
koefКоеффициент пересчёта
Название поляОписание
store_idID магазина
uuidУникальный символьный идентификатор
nameНазвание магазина
is_defaultФлаг - по умолчанию
urlСсылка на сайт
Название поляОписание
warehouse_idID склада
store_idID магазина
uuidУникальный символьный идентификатор склада
nameНазвание склада
is_defaultФлаг - по умолчанию
store_uuidУникальный символьный идентификатор магазина
descriptionПримечание
c_latitudeКоордината широта
c_longitudeКоордината долгота
sort_orderПорядок сортировки
is_virtualФлаг - виртуальный склад
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
category_idID категории
parent_idID родительской категории
language_idID языка
nameНазвание категории
statusАктивность
imageСсылка на картинку
uuidУникальный символьный идентификатор категории
uuid_parentУникальный символьный идентификатор родительской категории
seo_urlЧПУ
product_countКоличество товаров в категории
sort_orderПорядок сортировки
description_shortОписание краткое
description_fullОписание полное
meta_titleSEO meta заголовок
meta_descriptionSEO meta описание
meta_keywordSEO meta ключевые слова
seo_h1Текст для тега h1
name_fullСписок всех категорий куда входит эта категория
language_uuidУникальный символьный идентификатор языка
left_keyЛевый ключ
right_keyПравый ключ
levelУровень вложенности
id_pathПеречисление ID категорий
id_path_uuidПеречисление uuid категорий
seo_url_full ЧПУ со всеми категориями
category_id_jumperID категории в базе данных Jumper
parent_id_jumperID родительской категории в базе данных Jumper
Далее могут присутствовать поля созданнные пользователем
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
category_idID категории
store_idID магазина
category_uuidУникальный символьный идентификатор категории
store_uuidУникальный символьный идентификатор магазина
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
product_idID товара
language_idID языка
category_idID категории
manufacturer_idID производителя
skuВнутренний артикул
priceЦена
price_rrpРРЦ
quantityКоличество
modelМодель
upcШтрихкод
eanШтрихкод
janШтрихкод
isbnШтрихкод
mpnАртикул производителя
stock_locationРасположение на складе
pointsКоличество баллов
date_availableДата доступности
warrantyГарантия
weightВес
lengthДлина
widthШирина
heightВысота
subtract_quantityФлаг - вычитать со склада при заказе товара
order_minimumМинимальное количество для заказа
sort_orderПорядок сортировки
statusАктивность
viewedКоличество просмотров
price_oldСтарая цена
delivery_costСтоимость доставки
contractor_idID контрагента
uuidУникальный символьный идентификатор
category_uuidУникальный символьный идентификатор категории
manufacturer_uuidУникальный символьный идентификатор производителя
sku_supplyАртикул контрагента (поставщика)
seo_urlЧПУ
ext_urlВнешняя ссылка на товар
product_id_ext ID товара на внешнем сайте
nameНаименование товара
description_shortОписание краткое
description_fullОписание полное
meta_descriptionSEO meta описание
meta_keywordSEO meta ключевые слова
meta_titleSEO meta заголовок
seo_h1Текст для тега h1
tagСписок тегов
language_uuidУникальный символьный идентификатор языка
flag_archiveФлаг - архивный товар
flag_xml_exportФлаг - выгружать на торговую площадку
flag_popularФлаг - популярный товар
flag_best_dealФлаг - лучшая покупка
flag_fix_priceФлаг - фиксиронная цена
stock_status_idID статуса наличия
stock_status_nameНазвание статуса наличия
stock_status_imageКартинка статуса наличия
stock_status_colorЦвет статуса наличия
manufacturer_nameНазвание производителя
contractor_nameНазвание контрагента
profit_valueПрибыль, значение
profit_persentПрибыль, процент
price_costЦена себестоимость
flag_new_productФлаг - новый товар (новинка)
type_idТип товара, 1 - обычный товар, 2 - товар-опция.
uuid_parentУникальный символьный идентификатор родительского товара
id_parentУникальный числово идентификатор родительского товара
measure_uuidУникальный символьный идентификатор единицы измерения
product_id_jumperID товара в базе данных Jumper
Далее могут присутствовать поля созданнные пользователем
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
product_idID товара
store_idID магазина
product_uuidУникальный символьный идентификатор товара
store_uuidУникальный символьный идентификатор магазина
quantityКоличество
priceЦена
price_rrpРРЦ
price_costЦена себестоимость
stock_status_nameСтатус наличия
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
product_idID товара
warehouse_idID склада
product_uuidУникальный символьный идентификатор товара
warehouse_uuidУникальный символьный идентификатор склада
quantityКоличество
priceЦена
stock_status_nameСтатус наличия
Название поляОписание
product_idID товара
category_idID категории
product_uuidУникальный символьный идентификатор товара
category_uuidУникальный символьный идентификатор категории
sort_orderПорядок сортировки
is_mainФлаг - главная категория
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
manufacturer_idID производителя
language_idID языка
nameНазвание производителя
imageЛоготип
urlСсылка на сайт производителя
seo_urlЧПУ ссылка
uuidУникальный символьный идентификатор
description_shortОписание краткое
description_fullОписание полное
meta_titleSEO meta заголовок
meta_descriptionSEO meta описание
meta_keywordSEO meta ключевые слова
seo_h1Текст для тега h1
language_uuidУникальный символьный идентификатор языка
addressАдрес
address_serviceАдрес сервиных центров
tagСписок тегов
Далее могут присутствовать поля созданнные пользователем
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
manufacturer_idID производителя
store_idID магазина
manufacturer_uuidУникальный символьный идентификатор производителя
store_uuidУникальный символьный идентификатор магазина
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
attribute_block_idID блока атрибутов
language_idID языка
nameНазвание блока атрибутов
descriptionОписание блока атрибутов
sort_orderПорядок сортировки
imageКартинка
uuidУникальный символьный идентификатор блока атрибутов
language_uuidУникальный символьный идентификатор языка
codeКод блока атрибутов (ЧПУ)
statusАктивность
flag_exportedФлаг - факт выгрузки данных на сайт
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
row_exist_option Флаг - запись об опции найдена в базе данных сайта
attribute_idID атрибута товаров
attribute_block_idID блока атрибутов
language_idID языка
option_idID опции
nameНазвание атрибута
descriptionОписание атрибута
sort_orderПорядок сортировки
imageКартинка атрибута
requiredФлаг - обязательно для заполнения
type_codeТип атрибута
type_code_filterТип атрибута для фильтра
block_uuidУникальный символьный идентификатор блока атрибутов
uuidУникальный символьный идентификатор атрибута
language_uuidУникальный символьный идентификатор языка
codeКод атрибута (ЧПУ)
show_on_pageФлаг - показывать на странице
statusАктивность
attribute_uuid_parentУникальный символьный идентификатор родительского атрибута
attribute_mainФлаг - главный атрибут
flag_optionФлаг - опция товара
flag_expandФлаг - список значений раскрыт (для фильтра)
filter_max_attribute(для фильтра)
filter_max_attribute_value(для фильтра)
group_by_valueФлаг - группировать по значениям (для фильтра)
flag_exportedФлаг - факт выгрузки данных на сайт
postfixДобавочный текст
flag_multilineФлаг - многостроковые значения
type_code_siteТип атрибут полученный с сайта
Название поляОписание
category_idID категории
attribute_idID атрибута
category_uuidУникальный символьный идентификатор категории
attribute_uuidУникальный символьный идентификатор атрибута
sort_orderПорядок сортировки
filter ФлагИспользовать для фильтра
flag_globalДля всех категорий
row_existФлаг - запись найдена в базе данных сайта
filter_max_attribute(для фильтра)
filter_max_attribute_value(для фильтра)
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
product_idID товара
id_parentID родительского атрибута
attribute_idID атрибута товаров
attribute_block_idID блока атрибутов
language_idID языка
option_idID опции
attribute_mainФлаг - главный атрибут
type_codeТип атрибута
attribute_valueЗначение атрибута
product_uuidУникальный символьный идентификатор товара
uuid_parentУникальный символьный идентификатор родительского атрибута
attribute_uuidУникальный символьный идентификатор атрибута
language_uuidУникальный символьный идентификатор языка
flag_optionФлаг - опция товара
requiredФлаг - обязательно для заполнения
attribute_value_idID значения атрибута
value_crc32Контрольная сумма CRC значения атрибута
flag_exportedФлаг - факт выгрузки данных на сайт
sort_orderПорядок сортировки
attribute_colorЦвет атрибута
measure_uuidУникальный символьный идентификатор единицы измерения
attribute_block_uuidУникальный символьный идентификатор блока атрибутов
stock_status_id_mainСтатус наличия от товара
stock_status_idСтатус наличия от опции
quantityКоличество
priceЦена
price_prefixТип добавления цены (=-+) при выборе опции
points_prefixТип добавления баллов (=-+) при выборе опции
weight_prefixТип добавления веса (=-+) при выборе опции
pointsБаллы
weightВес
subtractФлаг - вычитать со склада при заказе
skuАртикул опции
row_uuidУникальный символьный идентификатор записи
Далее могут присутствовать поля созданнные пользователем
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
attribute_value_idID значения для атрибута
attribute_idID атрибута товаров
language_idID языка
attribute_uuidУникальный символьный идентификатор атрибута
language_uuidУникальный символьный идентификатор языка
sort_orderПорядок сортировки
codeКод атрибута (ЧПУ)
attribute_valueЗначание атрибута
postfixДобавочный текст
descriptionОписание значения
value_crc32Контрольная сумма CRC значения
measure_uuidУникальный символьный идентификатор единицы измерения
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
row_typeТип записи (category - категория, product - товар)
item_idID элемента (ID категории, ID товара)
imageИмя файла с директорией
image_cloud_urlСсылка на фото
image_originalСсылка на фото полученное с сайта
image_site_pathПуть хранения на сайте
image_pathПуть хранения
image_file_nameИмя файла
image_path_originalПуть хранения на сайте (полученное с сайта)
image_file_name_originalИмя файла полученное с сайта
saved_pathПуть сохранения
saved_file_nameИмя файла для сохранения
sort_orderПорядок сортировки
uuidУникальный символьный идентификатор фотографии
item_uuidУникальный символьный идентификатор элемента (категории, товара)
downloadedФлаг - фото закачено на сайт
flag_from_siteФлаг - фото получено с сайта
Название поляОписание
row_typeТип записи (category - категория, product - товар)
item_idID элемента (ID категории, ID товара)
altТекст для тега alt
titleТекст для тега title
product_image_idID фотографии
item_uuidУникальный символьный идентификатор элемента (категории, товара)
language_uuidУникальный символьный идентификатор языка
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
product_idID товара
uuidУникальный символьный идентификатор товара
video_idID ссылки на видео
urlСсылка на видео
Название поляОписание
row_existФлаг - запись найдена в базе данных сайта
article_idID статьи
parent_idID родительской категории (раздела)
uuidУникальный символьный идентификатор статьи
uuid_parentУникальный символьный идентификатор родительской категории (раздела)
is_categoryФлаг - это категория (раздел)
statusАктивность
sort_orderПорядок сортировки
product_idID товара (привязка к товару)
language_uuidУникальный символьный идентификатор языка
descriptionПримечание
seo_urlЧПУ
flag_commentФлаг - комментарий
nameНазвание статьи
description_shortОписание краткое
description_fullТекст статьи
meta_titleSEO meta заголовок
meta_keywordSEO meta ключевые слова
meta_descriptionSEO meta описание
seo_h1Текст для тега h1
tagСписок тегов


Как получить числовой ID категории для товаров, который хранится в БД Jumper
SELECT t2.category_id_jumper, t2.parent_id_jumper, t1.product_id_jumper
FROM etrade_product_temp t1
INNER JOIN etrade_category_temp t2 ON t1.category_uuid = t2.uuid


Читайте также: Импорт товаров на Opencart
Автоматизация интернет магазинов


Копирайтер ElbuzGroup


Оглавление:



Сохрани ссылку на эту статью


Далее