Buenas, que tal,
Estaba leyendo lo que querías hacer, solo por curiosidad e intentar ayudarte un poco
La verdad que es una cosa un poco rara lo de cambiar los estados por los barrios y eso... pero bueno si el cliente lo necesita así, pues así tiene que ser.
Te comento por si te vale, sobre tu hilo.
Si vas a hacer algo de lo que te pongo a continuación, hazte un backup antes de la bd
"las zonas son los códigos postales a los que reparte"
Tendrías que añadirlos así, a la base de datos
Empieza por algún id que no exista ya en tu base de datos, o limpialos
id_zone , he empezado por 9
Código:
/* Agregamos los CP, te valdría para los gastos de envío por zona'*/
INSERT INTO `ps_zone` (`id_zone`, `name`, `active`) VALUES
(9, 'CP_1', 1),
(10, 'CP_2', 1),
(11, 'CP_3', 1),
....
....
(12, 'CP_4', 1);
"los estados serían los barrios, pertenecientes al código postal que se seleccione"
Tendrías que añadirlos así, a la base de datos: mirar que coincide el id_zone de uno con el id_zone de otro.
Estas salen ya en lista desplegable en 1.6
Empieza por algún id_state que no exista ya en tu base de datos, o limpialos
id_state , he empezado por 313 que corresponden con las de las ciudades de España en una instalación "normal"
Código:
/* Preparamos el campo ISO_CODE para aceptar 5 caracteres */
ALTER TABLE `ps_state` MODIFY `iso_code` char(5) NOT NULL;
/* Agregamos las calles y le asignamos su codigo postal */
INSERT INTO `ps_state` (`id_state`,`id_country`, `id_zone`, `name`, `iso_code`, `tax_behavior`, `active`) VALUES
(313, 6, 9, 'barrio_1', 'AA', 0, 1),
(314, 6, 9, 'barrio_2', 'AB', 0, 1),
(315, 6, 10, 'barrio_3' ,'AC', 0, 1),
(316, 6, 11, 'barrio_4', 'AD', 0, 1),
(317, 6, 11, 'barrio_4', 'AE', 0, 1),
.....
.....
.....
(450, 6, 12, 'barrio_14', 'AZ', 0, 1)
;
/* Activamos los estados para España*/
UPDATE `ps_country` SET `contains_states` = 1 WHERE `id_country` = 6;