Чем меньше лишних кликов делает посетитель при регистрации — тем лучше.
В данной заметке мы на странице регистрации клиента (create_account.php) сделаем автоматическое определение города и региона посетителя по его IP адресу.
1. Скачайте файл http://kypi.ru/vam/ipgeo.zip
2. Перепишите файл class-ipgeo.php из архива в магазин, создав папку /includes/external/ipgeo/
Теперь открываем файл /create_account.php
Находим:
require_once (DIR_FS_INC.’vam_write_user_info.inc.php’);
Добавляем после:
require_once (DIR_WS_INCLUDES . ‘external/ipgeo/class-ipgeo.php’);
$ip = new IPGeo($_SERVER[«REMOTE_ADDR»]);
Находим:
$vamTemplate->assign(‘INPUT_CITY’, vam_draw_input_fieldNote(array (‘name’ => ‘city’, ‘text’ => ‘ ‘. (vam_not_null(ENTRY_CITY_TEXT) ? ‘‘.ENTRY_CITY_TEXT.’‘ : »)), », ‘id=»city»‘));
Меняем на:
$vamTemplate->assign(‘INPUT_CITY’, vam_draw_input_fieldNote(array (‘name’ => ‘city’, ‘text’ => ‘ ’. (vam_not_null(ENTRY_CITY_TEXT) ? ‘<span>’.ENTRY_CITY_TEXT.'</span>’ : »)), $ip->ip($_SERVER[«REMOTE_ADDR»]), ‘id=»city»‘));
Находим:
$state_input = vam_draw_pull_down_menuNote(array (‘name’ => ‘state’, ‘text’ => ‘ ’. (vam_not_null(ENTRY_STATE_TEXT) ? ‘<span>’.ENTRY_STATE_TEXT.'</span>’ : »)), $zones_array, vam_get_zone_name(STORE_COUNTRY, STORE_ZONE,»), ‘id=»state»‘);
Меняем на:
$state_input = vam_draw_pull_down_menuNote(array (‘name’ => ‘state’, ‘text’ => ‘ ’. (vam_not_null(ENTRY_STATE_TEXT) ? ‘<span>’.ENTRY_STATE_TEXT.'</span>’ : »)), $zones_array, $ip->ip($_SERVER[«REMOTE_ADDR»], ‘region’), ‘id=»state»‘);
Находим:
$state_input = vam_draw_input_fieldNote(array (‘name’ => ‘state’, ‘text’ => ‘ ’. (vam_not_null(ENTRY_STATE_TEXT) ? ‘<span>’.ENTRY_STATE_TEXT.'</span>’ : »)), », ‘id=»state»‘);
Меняем на:
$state_input = vam_draw_input_fieldNote(array (‘name’ => ‘state’, ‘text’ => ‘ ’. (vam_not_null(ENTRY_STATE_TEXT) ? ‘<span>’.ENTRY_STATE_TEXT.'</span>’ : »)), $ip->ip($_SERVER[«REMOTE_ADDR»], ‘region’), ‘id=»state»‘);
Всё.
Теперь на странице регистрации клиента http://магазин.ру/create_account.php заполняются автоматически.
Не нужно лишний раз напрягать посетителя делать лишние клики и тратить время на нписание города, региона.