Consultas SQL para una actualización individual del sitio web de la tienda en línea
Las consultas SQL le permiten actualizar el sitio web de la tienda en línea de acuerdo con sus requisitos individuales. Cada CMS necesita sus propias consultas SQL, por lo que en esta sección habrá consultas separadas para cada CMS. Las consultas se escriben en la sección "Configuración de consultas SQL"
CMS OpenCart
Los ejemplos se dan con el prefijo de tabla "oc_", si tiene un prefijo diferente, cámbielo en la consulta.
Actualización de la metaetiqueta de título para el fabricante del producto OpenCart según la etiqueta de título del directorio de fabricantes de Elbuz
UPDATE oc_manufacturer_description md INNER JOIN etrade_manufacturer_temp t2 ON md. manufacturer_id = t2. manufacturer_id SET md. meta_title = t2. meta_title;;;
Actualización del modelo de producto OpenCart basado en el ID de producto de Elbuz
UPDATE oc_product t1, etrade_product_temp t2 SET t1. model = t2. product_id_jumper WHERE t2. product_id>0 AND t2. product_id = t1. product_id;;;
Actualización de la descripción del producto OpenCart basada en la breve descripción de Elbuz
UPDATE oc_product_description t1, etrade_product_temp t2 SET t1. description = t2. description_short WHERE t1. product_id = t2. product_id AND t1. language_id = t2. language_id;;;
Actualización de URL de SEO OpenCart basado en SEO Elbuz
Al actualizar el sitio de OpenCart, los SEO se registran solo para nuevas entradas (nuevas categorías, productos), para actualizar los SEO actuales en el sitio, use estas consultas SQL.
OpenCart versión 2. X
# Categorías
UPDATE oc_url_alias ua INNER JOIN etrade_category_temp e ON e. category_id = CAST(SUBSTRING(ua. query FROM 13) as UNSIGNED) SET ua. keyword = e. seo_url WHERE e. row_exist = 1 AND e. seo_url!='' AND ua. query LIKE 'category_id=%';;
# Productos
UPDATE oc_url_alias ua INNER JOIN etrade_product_temp e ON e. product_id = CAST(SUBSTRING(ua. query FROM 12) as UNSIGNED) SET ua. keyword = e. seo_url WHERE e. row_exist = 1 AND e. seo_url!='' AND ua. query LIKE 'product_id=%';;
# Fabricantes
UPDATE oc_url_alias ua
INNER JOIN etrade_manufacturer_temp e ON e. manufacturer_id = CAST(SUBSTRING(ua. query FROM 17) as UNSIGNED)
SET ua. keyword = e. seo_url
WHERE e. row_exist = 1 AND e. seo_url!='' AND ua. query LIKE 'manufacturer_id=%';;
OpenCart versión 3. X
# Categorías
UPDATE oc_seo_url su INNER JOIN etrade_category_temp e ON e. category_id = CAST(SUBSTRING(su. query FROM 13) as UNSIGNED) SET su. keyword = e. seo_url WHERE e. row_exist = 1 AND e. seo_url!='' AND su. query LIKE 'category_id=%';;
# Productos
UPDATE oc_seo_url su INNER JOIN etrade_product_temp e ON e. product_id = CAST(SUBSTRING(su. query FROM 12) as UNSIGNED) SET su. keyword = e. seo_url WHERE e. row_exist = 1 AND e. seo_url!='' AND su. query LIKE 'product_id=%';;
# Fabricantes
UPDATE oc_seo_url su INNER JOIN etrade_manufacturer_temp e ON e. manufacturer_id = CAST(SUBSTRING(su. query FROM 17) as UNSIGNED) SET su. keyword = e. seo_url WHERE e. row_exist = 1 AND e. seo_url!='' AND su. query LIKE 'manufacturer_id=%';;
Actualización en el sitio web de OpenCart de la cantidad mínima de productos para ordenar
UPDATE etrade_product_temp t1, oc_product t2 SET t2. minimum = t1. order_minimum WHERE t1. uuid = t2. uuid;;;
Actualización de precios para las opciones de productos de OpenCart en función de los productos de opciones creados en el catálogo base de Elbuz
Para actualizar los precios de las opciones en el sitio, debe activar la bandera "Actualizar valores de opciones en función de los productos de opciones"
Actualización del precio, prefijo de precio, artículo para un producto de opción
UPDATE oc_product_option_value pov INNER JOIN etrade_product_attribute_temp pa ON pa. product_id = pov. product_id AND pov. product_option_id = pa. product_option_id AND pov. option_id = pa. option_id AND pov. product_option_value_id = pa. product_option_value_id INNER JOIN etrade_product_temp p ON p. uuid = pa. product_uuid AND p. type_id=2 SET pov. price = p. price, pov. price_prefix = '=', pov. sku = p. mpn;;;
Puede actualizar la diferencia de precio entre el producto principal y el producto de opción para los productos de opción, si cada opción tiene su propio precio
UPDATE oc_product_option_value pov INNER JOIN etrade_product_attribute_temp pa ON pa. product_id = pov. product_id AND pov. product_option_id = pa. product_option_id AND pov. option_id = pa. option_id AND pov. option_value_id = pa. product_option_value_id INNER JOIN (SELECT uuid, price FROM etrade_product_temp WHERE type_id=1) p ON p. uuid = pa. product_uuid INNER JOIN (SELECT uuid_parent, price FROM etrade_product_temp WHERE type_id=2) p_option ON p_option. uuid_parent = p. uuid SET pov. price = p_option. price - p. price;;;
CMS 1C-Bitrix
Actualización de la propiedad de Bitrix basada en el campo habitual de Elbuz.
Por ejemplo, para actualizar la propiedad Bitrix con el código PROVEEDOR para el bloque de información ID = 2 basado en el campo "Nombre del contador", debe usar estas consultas SQL
SET @iblock_id = 2;;; SET @property_code = 'SUPPLIER';; SET @property_id = (SELECT b_iblock_property. id FROM b_iblock_property WHERE b_iblock_property. code = @property_code AND b_iblock_property. IBLOCK_ID = @iblock_id LIMIT 1);;; INSERT INTO b_iblock_element_property (iblock_property_id, iblock_element_id, value) SELECT @property_id, b_iblock_element. id, etrade_product_temp. contractor_name FROM b_iblock_element, etrade_product_temp WHERE b_iblock_element.xml_id = etrade_product_temp. uuid AND b_iblock_element. iblock_id = @iblock_id AND b_iblock_element. id NOT IN (SELECT iblock_element_id FROM b_iblock_element_property WHERE iblock_property_id = @property_id GROUP BY iblock_element_id);;; UPDATE b_iblock_element_property, b_iblock_element, etrade_product_temp SET b_iblock_element_property. value = etrade_product_temp. contractor_name WHERE b_iblock_element. id = b_iblock_element_property. iblock_element_id AND b_iblock_element.xml_id = etrade_product_temp. uuid AND b_iblock_element. iblock_id = @iblock_id AND b_iblock_element_property. iblock_property_id = @property_id;;;