Esto se podría hacer simplemente eliminando los ID’s de las provincias de la base de datos en la tabla «directory_country_region», pero esto no es nada recomendable.
Es mucho mejor realizar los siguientes cambios en el código.
Paso 1:
Copie el archivo desde: app/code/core/Mage/Directory/Helper/Data.php
a: app/code/local/Mage/Directory/Helper/Data.php
Paso 2:
Reemplace el método _getRegions ($ storeId) de la clase Mage_Directory_Helper_Data.
Vaya a la línea número 184: protect function _getRegions ($ storeID)
Agregue este código después del final de $ regions en la línea 200
$excludeRegions = array('Las Palmas','Santa Cruz de Tenerife','Baleares','Ceuta','Melilla');
foreach ($collection as $region) {
if (!$region->getRegionId()) {
continue;
}
Paso 3:
Asigne los códigos de región que desea eliminar a una matriz, es decir, la variable $ excludeRegions.
Agregue este código después del paso 2.
//BOF Custom Logic Here
$regionCode = $region->getCode();
if (in_array($regionCode, $excludeRegions)) {
continue;
}
Este es el código final:
protected function _getRegions($storeId)
{
$countryIds = array();
$countryCollection = $this->getCountryCollection()->loadByStore($storeId);
foreach ($countryCollection as $country) {
$countryIds[] = $country->getCountryId();
}
/** @var $regionModel Mage_Directory_Model_Region */
$regionModel = $this->_factory->getModel('directory/region');
/** @var $collection Mage_Directory_Model_Resource_Region_Collection */
$collection = $regionModel->getResourceCollection()
->addCountryFilter($countryIds)
->load();
$regions = array(
'config' => array(
'show_all_regions' => $this->getShowNonRequiredState(),
'regions_required' => $this->getCountriesWithStatesRequired()
)
);
$excludeRegions = array('Las Palmas','Santa Cruz de Tenerife','Baleares','Ceuta','Melilla');
foreach ($collection as $region) {
if (!$region->getRegionId()) {
continue;
}
//BOF Custom Logic Here
$regionCode = $region->getCode();
if (in_array($regionCode, $excludeRegions)) {
continue;
}
//EOF Custom Logic here
$regions[$region->getCountryId()][$region->getRegionId()] = array(
'code' => $region->getCode(),
'name' => $this->__($region->getName())
);
}
return $regions;
}
Paso 4:
Inicie sesión en su admin de Magento y borre todo el caché.