Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Поддержка] CityManager (Определение города по IP, Geo IP)


Recommended Posts

Изменил на это:

Ошибка пропала, но город все же не показывает.

А у Вас все города не показывают? У меня почему то только Москва и Питер, а остальные выводит...

Автор, в чем может быть ошибка?

Надіслати
Поділитися на інших сайтах

$this->data['city'] = ...

 

Спасибо, так все работает, город передается. НО не появляются отдельно забитые в базу города - Москва и Санкт-Петербург! Как исправить?

Надіслати
Поділитися на інших сайтах


Добрый день, подскажите модуль будет работать если изменить структуру городов из стандартного формата опенкарта на такой Страна - это будет область, Область - будет город. Чтобы все можно было выводить через списки. Или же подскажите как сделать ввод города через подгрузку как в самом модуле уже на странице оформления заказа. То есть вот здесь

de830f38e4f5160b2ad68135edb9289a.png

Надіслати
Поділитися на інших сайтах


Блин, а почему индекс не заполняет? Что-может быть не так?

ocstore 1.5.5.1.2

И куда вставлять этот код:

  1. $geoip = $this->registry->get('geoip');
  2.  
  3. // Название страны
  4. $country = $geoip->getCountryName(); 
  5. // Название региона
  6. $zone = $geoip->getZoneName();
  7.  
  8. // Название города или населенного пункта с районом (Дмитровский р-н, г. Дмитров)
  9.  
  10. $city = $geoip->getCityName();
  11.  
  12. // Название города
  13. $short_city = $geoip->getShortCityName();
  14.  
  15. // Индекс
  16. $postcode = $geoip->getPostcode();
Надіслати
Поділитися на інших сайтах


А у Вас все города не показывают? У меня почему то только Москва и Питер, а остальные выводит...

Автор, в чем может быть ошибка?

 

попробуйте:

$geoip = $this->registry->get('geoip');
$short_city = $geoip->getShortCityName();
$this->data['city'] = $short_city ? $short_city : $geoip->getCityName();
Надіслати
Поділитися на інших сайтах

Добрый день, подскажите модуль будет работать если изменить структуру городов из стандартного формата опенкарта на такой Страна - это будет область, Область - будет город. Чтобы все можно было выводить через списки.

 

Не будет.

 

Или же подскажите как сделать ввод города через подгрузку как в самом модуле уже на странице оформления заказа. То есть вот здесь

 

Никак, этот модуль здесь не подойдет.

Надіслати
Поділитися на інших сайтах

 

Блин, а почему индекс не заполняет? Что-может быть не так?

ocstore 1.5.5.1.2

 

Индекс заполняется не для всех городов.

Надіслати
Поділитися на інших сайтах

Очень нужна помощь !!!

Как заменить окно диалога на обычный DIV ?  Не получается сделать !!!

 

Спасибо.

 

В модуле используется jquery.dialog, если вы хотите изменить это, открывайте catalog\view\theme\default\template\module\geoip.tpl и переписывайте код.

Надіслати
Поділитися на інших сайтах

 

попробуйте:

$geoip = $this->registry->get('geoip');
$short_city = $geoip->getShortCityName();
$this->data['city'] = $short_city ? $short_city : $geoip->getCityName();

 

Да, так все работает! Большое спасибо за помощь!

Надіслати
Поділитися на інших сайтах


Подскажите, стоит симпл последняя версия, на странице регистрации не вносится автомат город из модуля + нету возможности выбрать вручную. Список по областям можно открыть, но там только одно поле "Выберите". В чем может быть проблема?

a53624900f706eb8f5e851badc37d7aa.png

Надіслати
Поділитися на інших сайтах


Я так понял, у вас вместо стран регионы. Если так, то я вам писал, что работать не будет.

Надіслати
Поділитися на інших сайтах

Нет я ничего не менял.  Кстати если какой то пользователь уже зарегистрируется, то данные также не будут добавляться в поля при оформлении заказа. А вот если незарегистрированный пользователь будет оформлять заказ, то город подтягивается.

Надіслати
Поділитися на інших сайтах


В общем, недавно столкнулся с такой проблемой, что этот модуль не работает одновременно с vqmod. Было ли у кого то такое?

нет у меня установлен вкмод и все работает, не считаю того, что я писал выше, автор думаю поможет

Надіслати
Поділитися на інших сайтах


Нет я ничего не менял.  Кстати если какой то пользователь уже зарегистрируется, то данные также не будут добавляться в поля при оформлении заказа. А вот если незарегистрированный пользователь будет оформлять заказ, то город подтягивается.

 

Для зарегистрированных пользователей подставляется только страна и регион, а вот город остается пустым - такое поведение по-умолчанию в opencart.

<input type="text" name="city" value="" class="large-field" />

Может когда-нибудь я исправлю это через vqmod, но пока мне с ним не хочется связываться) Можете исправить сами:

catalog\controller\checkout\payment_address.php в строке 85 после вот такой конструкции:

if (isset($this->session->data['payment_zone_id'])) {
    $this->data['zone_id'] = $this->session->data['payment_zone_id']; 
} else {
    $this->data['zone_id'] = '';
}

Добавьте:

$geoip = $this->registry->get('geoip');
$city = $geoip->getCityName();

if ($city) {
    $this->data['city'] = $city;
} else {
    $this->data['city'] = '';
}

И в шаблоне catalog\view\theme\ВАША-ТЕМА\template\checkout\payment_address.tpl исправить

<input type="text" name="city" value="" class="large-field" />

на

<input type="text" name="city" value="<?php echo $city; ?>" class="large-field" />

Для Simple уже сами по аналогии.

Надіслати
Поділитися на інших сайтах

Для зарегистрированных пользователей подставляется только страна и регион, а вот город остается пустым - такое поведение по-умолчанию в opencart.

<input type="text" name="city" value="" class="large-field" />

Может когда-нибудь я исправлю это через vqmod, но пока мне с ним не хочется связываться) Можете исправить сами:

catalog\controller\checkout\payment_address.php в строке 85 после вот такой конструкции:

if (isset($this->session->data['payment_zone_id'])) {
    $this->data['zone_id'] = $this->session->data['payment_zone_id']; 
} else {
    $this->data['zone_id'] = '';
}

Добавьте:

$geoip = $this->registry->get('geoip');
$city = $geoip->getCityName();

if ($city) {
    $this->data['city'] = $city;
} else {
    $this->data['city'] = '';
}

И в шаблоне catalog\view\theme\ВАША-ТЕМА\template\checkout\payment_address.tpl исправить

<input type="text" name="city" value="" class="large-field" />

на

<input type="text" name="city" value="<?php echo $city; ?>" class="large-field" />

Для Simple уже сами по аналогии.

Подскажите куда в simplecheckout_payment_address.php ставить код. Просто предложенной Вами конструкции с 100% совпадением нету в данному файле. Собственно как и в simplecheckout_payment_address.tpl

Надіслати
Поділитися на інших сайтах


В каком смысле div-ми вывод? Вместо jquery.dialog?

Надіслати
Поділитися на інших сайтах

нет у меня установлен вкмод и все работает, не считаю того, что я писал выше, автор думаю поможет

У вас OpenCart или ocStore? Какая версия vqmod? 

У меня раньше с vqmod`ом тоже нормально работало, а щас на чистую версию вставать даже не хочет.

Надіслати
Поділитися на інших сайтах


В каком смысле div-ми вывод? Вместо jquery.dialog?

 

Да конечно - ибо не очень красиво выходит с   jquery.dialog? 

Или хотя бы подскажите что имено менять в файле 

 

И по цене можно в ЛС если возьметесь сделать мою верстку модуля 

Надіслати
Поділитися на інших сайтах

Пока не планирую переходить с jquery.dialog на самописный диалог.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.