Saltar al contenido
Codif铆ca.me | Desarrollo web | Programaci贸n

Migrar fabricantes o marcas Opencart a Prestashop

23 febrero, 2015

En esta entrada seguimos migrando Opencart hacia Prestashop, en este caso toca migrar los fabricantes o marcas.

En este caso solo voy a migrar la tabla manufacturer, aunque lo l贸gico es que si est谩 llena de datos la tabla manufacturer_description de Opencart tambi茅n migr茅is esos datos.

En este caso en particular no nos hac铆a falta as铆 que no he cruzado datos entre las dos tablas y solo he cogido la tabla manufacturer.

opencart to prestashop

Si ya has visto los otros tres tutoriales o entradas que he escrito en el blog para migrar Opencart a Prestashop habr谩s visto que realizo siempre la misma estructura, un cursor que recoge los datos bas谩ndonos en el id y diversos insert o insert a select para introducir los datos que nos ha devuelto el cursor, no tiene mucho misterio.

Y aqu铆 tienes el c贸digo, solo tienes que subirlo a tu base de datos y llamar a la funcion Call MigrarFabricantes desde tu base de datos.

Si vas a migrar Opencart a Prestashop, te recomiendo que le eches un ojo a estas tres entradas del blog.

La primera entrada te valdr铆a para migrar todos los productos, aunque obviamente tendr谩s que ver como est谩 hecha tu base de datos Opencart y adaptarlo a tu base de datos.

Aqu铆 la tienes

La segunda entrada te valdr铆a para crear la estructura de carpetas que tiene Prestashop para colocar las im谩genes. Es un poco rara pero al final del post encontrar谩s un script para crear est谩 estructura de 9999 carpetas para colocar adecuadamente las im谩genes de Prestashop.

Aqu铆 tienes la segunda

La tercera te valdr谩 para migrar las im谩genes de un sitio a otro.
Aqu铆 tienes la tercera

Y aqu铆 tienes el c贸digo de esta entrada, para que puedas mover todos tus fabricantes.
Te lo dejo a cambio de una acci贸n social, gracias!!
[sociallocker]

DROP PROCEDURE IF EXISTS MigrarFabricantes;
DELIMITER $
CREATE PROCEDURE MigrarFabricantes (
) BEGIN
 
        DECLARE v_id_manufacturer	INT(10);
        DECLARE v_name	                VARCHAR(64);
        DECLARE v_date_add	        datetime;
        DECLARE v_date_upd	        datetime;
        DECLARE v_active	        tinyint(1);
 
        DECLARE findelbucle INTEGER DEFAULT 0;
 
 
     -- La SELECT que queremos
  DECLARE OpencartByeBye CURSOR FOR 
    SELECT `manufacturer_id`, `name`  FROM `manufacturer`;
 
-- Cuando no existan mas datos findelbucle se pondra a 1
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET findelbucle=1;
--  DECLARE CONTINUE HANDLER FOR NOT FOUND SET @hecho = TRUE;
 
-- Limpiamos las tablas anteriores de la instalaci贸n prestashop
   DELETE FROM `ps_manufacturer`    ; 
   DELETE FROM  ps_manufacturer_shop;
   DELETE FROM  ps_manufacturer_lang;
 
 
  OPEN OpencartByeBye;
  bucle: LOOP
    FETCH OpencartByeBye INTO
        v_id_manufacturer   ,  
        v_name	                
    ;
    IF findelbucle = 1 THEN
       LEAVE bucle;
    END IF;
 
-- Hacemos los inserts en las tablas de Prestashop
 
INSERT INTO `ps_manufacturer` (`id_manufacturer`, `name`, `date_add`, `date_upd`, `active`) VALUES
(v_id_manufacturer, v_name, '2013-12-11 03:54:51', '2013-12-11 05:25:47', 1);
 
INSERT INTO `ps_manufacturer_lang` (`id_manufacturer`, `id_lang`, `description`, `short_description`, 
                                    `meta_title`, `meta_keywords`, `meta_description`) VALUES
                                  (v_id_manufacturer,      4,           v_name,         v_name, 
                                      v_name, v_name, v_name);
 
INSERT INTO ps_manufacturer_shop   (`id_manufacturer`, `id_shop`) VALUES (v_id_manufacturer, 1) ;                                     
 
  END LOOP bucle;
 
  CLOSE OpencartByeBye;
END$
DELIMITER ;

[/sociallocker]

Si tienes dudas dejanos un comentario y te responderemos lo antes posible.
O si tienes muchas muchas dudas y quieres ponerte en contacto con nosotros puedes hacerlo a trav茅s del formulario de contacto.

驴Me echas una mano con la web? Solo te pido un +1 en Google, gracias

5/5 - (1 voto)