SQL запросы для движка OpenCart

В данном разделе оставляются заявки для создания SQL запросов для обновления тех или иных полей при импорте и экспорте.
вася
Сообщения: 59
Зарегистрирован: 20 мар 2013 16:50

Еще один запрос есть

при экспорте товара
не заполняется основная категория

Изображение




так как движок немного отличается от оригинального Openacart

в техподдержке (по ICQ) сообщили что можно наверно решить этот вопрос SQL запросом
поэтому пишу здесь

Движок Ocstore 1.5.3.1(руссский Opencart)

Заранее спасибо
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

для заполнения тегов товара - H1

Код: Выделить всё

UPDATE product_description, etrade_products SET product_description.seo_h1=CONCAT('Купить ', etrade_products.manufac_name, ' ', etrade_products.model, ' в калининградском интернет магазине ххххх.RU тел. (4012) хххххх') WHERE product_description.product_id=etrade_products.tov_id;;;
для заполнения тегов товара - title

Код: Выделить всё

UPDATE product_description, etrade_products SET product_description.seo_title=CONCAT('Купить ', etrade_products.manufac_name, ' ', etrade_products.model, ' в калининградском интернет магазине ххххх.RU тел. (4012) хххххх') WHERE product_description.product_id=etrade_products.tov_id;;;
Как заполнить Теги товара: - это тоже под вопросом (типа такого - лучше, дешево, цена, купить, KVR1333D3S9/2G, Kingston)

Код: Выделить всё

DELETE FROM product_tag WHERE product_id IN (SELECT tov_id FROM etrade_products);;;
INSERT INTO product_tag (product_id, language_id, tag) SELECT tov_id, 1 as language_id, 'лучше' as tag FROM etrade_products;;;
INSERT INTO product_tag (product_id, language_id, tag) SELECT tov_id, 1 as language_id, 'дешево' as tag FROM etrade_products;;;
INSERT INTO product_tag (product_id, language_id, tag) SELECT tov_id, 1 as language_id, 'цена' as tag FROM etrade_products;;;
INSERT INTO product_tag (product_id, language_id, tag) SELECT tov_id, 1 as language_id, 'купить' as tag FROM etrade_products;;;
INSERT INTO product_tag (product_id, language_id, tag) SELECT tov_id, 1 as language_id, etrade_products.model as tag FROM etrade_products WHERE etrade_products.model<>'';;;
INSERT INTO product_tag (product_id, language_id, tag) SELECT tov_id, 1 as language_id, etrade_products.manufac_name as tag FROM etrade_products WHERE etrade_products.manufac_name<>'';;;
при экспорте товара не заполняется основная категория

Код: Выделить всё

UPDATE product_to_category, etrade_products SET main_category=0;;;
UPDATE product_to_category, etrade_products SET main_category=1 WHERE etrade_products.tov_id=product_to_category.product_id AND etrade_products.tov_cat_id=product_to_category.category_id;;;
В SQL запросах использован язык сайта по умолчанию с ИД равным 1, если у вас другой ИД языка сайта, необходимо 1 заменить на нужный ИД

Код: Выделить всё

1 as language_id
В SQL запросах использовано поле Модель из учётной системы ПЛИ, проверьте чтобы оно было заполнено в ПЛИ. В противном случае используйте наименование товара (поле etrade_products.tov_name).

Код: Выделить всё

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

Данные SQL запросы необходимо добавить вот сюда:
setup_addon_sql_queries.png
setup_addon_sql_queries.png (103.81 КБ) 13412 просмотров
С уважением, поддержка ElbuzGroup.
вася
Сообщения: 59
Зарегистрирован: 20 мар 2013 16:50

супер огромное спасибо
буду пробовать
по факту отпишусь
вася
Сообщения: 59
Зарегистрирован: 20 мар 2013 16:50

UPDATE product_to_category, etrade_products SET main_category=0;;;
UPDATE product_to_category, etrade_products SET main_category=1 WHERE etrade_products.tov_id=product_to_category.product_id AND etrade_products.tov_cat_id=product_to_category.category_id;;;


данная команда обнуляет главную категорию у всех товаров
что есть на сайте

(у нас есть товары которые забиваются вручную и не находятся в системе вашей программы)

как этого избежать?
Аватара пользователя
support
Сообщения: 10563
Зарегистрирован: 09 ноя 2008 21:37

Добавлять товары в одном месте - только в программе.
Предварительно сделав импорт данных из магазина в программу.
БД сайта и БД программы должны быть синхронизированы между собой.
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Для обнуления категории только для товаров, которые есть в списке экспорта ПЛИ используйте эти SQL запросы:

Код: Выделить всё

UPDATE product_to_category SET main_category=0 WHERE product_id IN (SELECT tov_id FROM etrade_products);;;
UPDATE product_to_category, etrade_products SET main_category=1 WHERE etrade_products.tov_id=product_to_category.product_id AND etrade_products.tov_cat_id=product_to_category.category_id;;;
Крайне не желательно иметь разные списки товаров в БД сайта и в БД ПЛИ, это приведёт к не предсказуемым результатам.
С уважением, поддержка ElbuzGroup.
вася
Сообщения: 59
Зарегистрирован: 20 мар 2013 16:50

ограничение моей версии программы не позволяют вести полный список товаров

вопрос к сожалению пока остался открытым
ztekem
Сообщения: 174
Зарегистрирован: 20 фев 2013 19:09

День добрый столкнулся с проблемой что в товаре не прописывается главная категория.
Использую сборку 1.5.4.1

пробовал все варианты sql запросов приведенных в этой теме.
выдает ошибку.

http://trirozetki.ru/download/%D0%9E%D1 ... %D0%B0.GIF

Подскажите как поправить данный запрос.

UPDATE product_to_category, etrade_products SET main_category=0;;;
UPDATE product_to_category, etrade_products SET main_category=1 WHERE etrade_products.tov_id=product_to_category.product_id AND etrade_products.tov_cat_id=product_to_category.category_id;;;

Спасибо!
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Между каждым SQL запросом укажите разделитель - ;;;
С уважением, поддержка ElbuzGroup.
ztekem
Сообщения: 174
Зарегистрирован: 20 фев 2013 19:09

а можно по точней?

UPDATE product_to_category, etrade_products SET main_category=0;;;
UPDATE product_to_category, etrade_products SET main_category=1;;;
WHERE etrade_products.tov_id=product_to_category.product_id AND etrade_products.tov_cat_id=product_to_category.category_id;;;

так тоже ошибку выдает.
Ответить

Вернуться в «SQL запросы для E-Trade PriceList Importer»