Страница 1 из 3

SQL запросы для движка VirtueMart (Joomla)

Добавлено: 19 янв 2012 14:30
support
Здесь будет список SQL запросов с описанием для чего они используются для движка VirtueMart (Joomla).

Импорт:


Экспорт:

Заменить артикул производителя на ID товара:
Вкладка До обновления.

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

UPDATE etrade_products SET tov_art=tov_id

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 24 дек 2012 12:13
kubik14
Товары с одинаковым ном номером могут отличаться размерами (размер стоит в столбце Габарит) Как создать доп SQL запрос
для обновления даных на сайте из этого поля в БД программы.

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 24 дек 2012 12:57
TechAdmin
В админ части VirtueMart v2, в разделе "Настраиваемые поля" посмотрите нужный заголовок поля, которое нужно обновлять, например "Размер", это название вставьте в SQL запрос.

Пример SQL запросов для обновления настраиваемых полей в VirtueMart v2, пример обновления поля "Размер" на основании данных из базы ПЛИ из поля "Габарит" (tov_size):

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

UPDATE jos_virtuemart_customs, jos_virtuemart_product_customfields, etrade_products SET jos_virtuemart_product_customfields.custom_value=etrade_products.tov_size WHERE jos_virtuemart_customs.custom_title='Размер' AND jos_virtuemart_product_customfields.virtuemart_custom_id=jos_virtuemart_customs.virtuemart_custom_id AND etrade_products.tov_id=jos_virtuemart_product_customfields.virtuemart_product_id;;;
INSERT INTO jos_virtuemart_product_customfields (virtuemart_product_id, virtuemart_custom_id, custom_value) SELECT etrade_products.tov_id, (SELECT virtuemart_custom_id FROM jos_virtuemart_customs WHERE custom_title='Размер' GROUP BY virtuemart_custom_id) as virtuemart_custom_id, etrade_products.tov_size FROM etrade_products WHERE etrade_products.tov_id NOT IN (SELECT virtuemart_product_id FROM jos_virtuemart_product_customfields WHERE virtuemart_custom_id=(SELECT virtuemart_custom_id FROM jos_virtuemart_customs WHERE custom_title='Размер' GROUP BY virtuemart_custom_id));;;

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

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 24 дек 2012 13:31
kubik14
Этот запрос должен быть Перед осн обновлением?

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 24 дек 2012 14:06
TechAdmin
После осн. обновления.

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 25 дек 2012 11:12
kubik14
Ок, все экспортируется, единственное что не так - товар, имеющий разные размеры, имеет одинаковый артикул . При выгрузке на сайте создается несколько карточек товара с одинаковым артикулом и разными размерами.

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 15 янв 2013 06:07
alecsey
добрый час. не отображается вес товара в админке и на сайте магазина. помогите правильно составить запрос SQL.

вот что я пробовал : 1 поставил свой префикс таблиц gjp8v_
2: поставил заголовок поля Вес
3:в настройках таблицы поставил флажок вес
4:несколько раз делал экспорт и импорт . не чего не помогает.

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 15 янв 2013 06:18
alecsey
Trade PriceList вносит в базу данных цены только для группы 2 - default (записывает в базу данных значение 2 вместо NULL - см картинку. ) может это ошибка программы ? из за этого цены видят только зарегестрированные пользователи магазина вообщем нужно сделать что бы цена отображалась для двух групп.

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 15 янв 2013 10:03
support
Нет такого поля в названиях таблиц как Вес, это оно так отображается в программе.
Согласно инструкции:
Вес товара = weight varchar(16)

Re: SQL запросы для движка VirtueMart (Joomla)

Добавлено: 15 янв 2013 10:46
alecsey
UPDATE gjp8v_virtuemart_customs, gjp8v_virtuemart_product_customfields, etrade_products SET gjp8v_virtuemart_product_customfields.custom_value=etrade_products.tov_size WHERE gjp8v_virtuemart_customs.custom_title='weight varchar(16)' AND gjp8v_virtuemart_product_customfields.virtuemart_custom_id=gjp8v_virtuemart_customs.virtuemart_custom_id AND etrade_products.tov_id=gjp8v_virtuemart_product_customfields.virtuemart_product_id;;;
INSERT INTO gjp8v_virtuemart_product_customfields (virtuemart_product_id, virtuemart_custom_id, custom_value) SELECT etrade_products.tov_id, (SELECT virtuemart_custom_id FROM gjp8v_virtuemart_customs WHERE custom_title='weight varchar(16)' GROUP BY virtuemart_custom_id) as virtuemart_custom_id, etrade_products.tov_size FROM etrade_products WHERE etrade_products.tov_id NOT IN (SELECT virtuemart_product_id FROM gjp8v_virtuemart_product_customfields WHERE virtuemart_custom_id=(SELECT virtuemart_custom_id FROM gjp8v_virtuemart_customs WHERE custom_title='weight varchar(16)' GROUP BY virtuemart_custom_id));;;

прописал вот такой запрос вес товара все равно не появился. несколько раз делал экспорт и импорт категорий с товарами. результат ноль.

скажите что делать.