Город для расчета

Если вы все сделали как в Настройки макета и указали код MegaPost_GeoIp::getCountryLocationCity(), то при первом заходе в сессию (ASMP_City) посетителя сохраняется вся информацию по его местоположению для дальнейшего расчета доставок, при любом изменении города сессия перезаписывается
1
print_r($_SESSION['ASMP_City']);
2
3
/*
4
Array
5
(
6
[ip] => 192.168.0.1
7
[city] => Екатеринбург
8
[region] => Свердловская область
9
[country_iso] => RU
10
[country] => Россия
11
[shop_country_id] => 175
12
[shop_country_location_id] => 55
13
[region_id] => 66
14
[region_kladr] => 6600000000000
15
[shop_country_location_city_id] => 1888
16
[postcode] => 620033
17
[kladr] => 6600000100000
18
)
19
*/
Если вы хотите подставить свой город, то можно сделать следующее, после вызова MegaPost_GeoIp::getCountryLocationCity(), разместите следующий код
из справочника HostCMS
любой другой город
1
if(!isset($_SESSION['ASMP_City']))
2
{
3
$oShop_Country_Location_City = Core_Entity::factory('Shop_Country_Location_City', 123); // где 123 - ID города
4
$_SESSION['ASMP_City'] = MegaPost_GeoIp::makeCity($oShop_Country_Location_City);
5
}
6
7
MegaPost_GeoIp::getCountryLocationCity();
1
if(!isset($_SESSION['ASMP_City']))
2
{
3
$aReturn = array(
4
'city' => 'Екатеринбург',
5
'region' => 'Свердловская область',
6
'country' => 'Россия',
7
'country_iso' => 'RU',
8
'kladr' => 6600000100000,
9
'region_kladr' => 6600000000000,
10
'region_id' => 66,
11
);
12
13
$_SESSION['ASMP_City'] = $aReturn;
14
}
15
16
MegaPost_GeoIp::getCountryLocationCity();