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é.