Por defecto, las instalaciones de Prestashop (incluida la 1.4.x) no incluyen las provincias españolas. Puede ser interesante añadirlas para determinar el coste en los envíos. Determinaríamos así franjas de precios y pesos acordes con las zonas de las provincias. A continuación incluyo es script necesario para ejecutarlo en MySQL.

El script se ha extraído del Foro oficial de Prestashop:

SET NAMES 'utf8';


— Agregamos las zonas de España

INSERT INTO `ps_zone` (`id_zone`, `name`, `active`) VALUES
(9, ‘Peninsula’, 1),
(10, ‘Canarias’, 1),
(11, ‘Baleares’, 1),
(12, ‘Ceuta y Melilla’, 1);


— Preparamos el campo ISO_CODE para aceptar 5 caracteres

ALTER TABLE `ps_state` MODIFY `iso_code` char(5) NOT NULL;


— Agregamos las provincias y asignamos su zona

INSERT INTO `ps_state` (`id_state`,`id_country`, `id_zone`, `name`, `iso_code`, `tax_behavior`, `active`) VALUES
(123, 6, 9, ‘La Coruña’, ‘C’, 0, 1),
(124, 6, 9, ‘Álava’, ‘VI’, 0, 1),
(125, 6, 9, ‘Albacete’ ,’AB’, 0, 1),
(126, 6, 9, ‘Alicante’, ‘A’, 0, 1),
(127, 6, 9, ‘Almería’, ‘AL’, 0, 1),
(128, 6, 9, ‘Asturias’, ‘O’, 0, 1),
(129, 6, 9, ‘Ávila’, ‘AV’, 0, 1),
(130, 6, 9, ‘Badajoz’, ‘BA’, 0, 1),
(131, 6, 11, ‘Islas Baleares’, ‘PM’, 0, 1),
(132, 6, 9, ‘Barcelona’, ‘B’, 0, 1),
(133, 6, 9, ‘Burgos’, ‘BU’, 0, 1),
(134, 6, 9, ‘Cáceres’, ‘CC’, 0, 1),
(135, 6, 9, ‘Cádiz’, ‘CA’, 0, 1),
(136, 6, 9, ‘Cantabria’, ‘S’, 0, 1),
(137, 6, 9, ‘Castellón’, ‘CS’, 0, 1),
(138, 6, 12, ‘Ceuta’, ‘CE’, 0, 1),
(139, 6, 9, ‘Ciudad Real’, ‘CR’, 0, 1),
(140, 6, 9, ‘Córdoba’, ‘CO’, 0, 1),
(141, 6, 9, ‘Cuenca’, ‘CU’, 0, 1),
(142, 6, 9, ‘Gerona’, ‘GI’, 0, 1),
(143, 6, 9, ‘Granada’, ‘GR’, 0, 1),
(144, 6, 9, ‘Guadalajara’, ‘GU’, 0, 1),
(145, 6, 9, ‘Guipuzcoa’, ‘SS’, 0, 1),
(146, 6, 9, ‘Huelva’, ‘H’, 0, 1),
(147, 6, 9, ‘Huesca’, ‘HU’, 0, 1),
(148, 6, 9, ‘Jaén’, ‘J’, 0, 1),
(149, 6, 9, ‘La Rioja’, ‘LO’, 0, 1),
(150, 6, 10, ‘Las Palmas’, ‘GC’, 0, 1),
(151, 6, 9, ‘León’, ‘LE’, 0, 1),
(152, 6, 9, ‘Lérida’, ‘L’, 0, 1),
(153, 6, 9, ‘Lugo’, ‘LU’, 0, 1),
(154, 6, 9, ‘Madrid’, ‘M’, 0, 1),
(155, 6, 9, ‘Málaga’, ‘MA’, 0, 1),
(156, 6, 12, ‘Melilla’, ‘ML’, 0, 1),
(157, 6, 9, ‘Murcia’, ‘MU’, 0, 1),
(158, 6, 9, ‘Navarra’, ‘NA’, 0, 1),
(159, 6, 9, ‘Orense’, ‘OR’, 0, 1),
(160, 6, 9, ‘Palencia’, ‘P’, 0, 1),
(161, 6, 9, ‘Pontevedra’, ‘PO’, 0, 1),
(162, 6, 9, ‘Salamanca’, ‘SA’, 0, 1),
(163, 6, 10, ‘Santa Cruz de Tenerife’, ‘TF’, 0, 1),
(164, 6, 9, ‘Segovia’, ‘SG’, 0, 1),
(165, 6, 9, ‘Sevilla’, ‘SE’, 0, 1),
(166, 6, 9, ‘Soria’, ‘SO’, 0, 1),
(167, 6, 9, ‘Tarragona’, ‘T’, 0, 1),
(168, 6, 9, ‘Teruel’, ‘TE’, 0, 1),
(169, 6, 9, ‘Toledo’, ‘TO’, 0, 1),
(170, 6, 9, ‘Valencia’, ‘V’, 0, 1),
(171, 6, 9, ‘Valladolid’, ‘VA’, 0, 1),
(172, 6, 9, ‘Vizcaya’, ‘BI’, 0, 1),
(173, 6, 9, ‘Zamora’, ‘ZA’, 0, 1),
(174, 6, 9, ‘Zaragoza’, ‘Z’, 0, 1);


— Activamos los estados en España

UPDATE `ps_country` SET `contains_states` = 1 WHERE `id_country` = 6;

 

Tras ejecutarlo, tendremos que asegurarnos de que el país de España está configurado para contener 'estados'. De lo contrario no se mostrarían las provincias añadidas. Consulta el enlace del foro por si hubiera una nueva versión o modificación de los códigos ISO.