Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

rss

Вы не зашли.

Объявление

#1 2014-04-19 04:28:08

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   175 
Профиль  Вебсайт

check_geoip :: Определение региона/города посетителя по IP

Плагин использует сервис ipgeobase.ru для определения массива значений (страна/регион/город) посетителя.
Так же на основании этих данных можно выводить любую другую информацию, т.е. скажем в зависимости от региона можно вывести номер телефона, и.т.д.

Вывод осуществляется переменой {{plugin_check_geoip}} в main.tpl

Отредактированно infinity237 (2014-04-20 11:09:11)


Прикрепленные файлы:
check_geoip.zip, Размер: 6,091 байт, Скачано: 277

Неактивен

 

#2 2017-12-29 17:32:07

easmik
Модератор
Откуда: Анталья
Зарегистрирован: 2011-02-01
Сообщений: 1005
Рейтинг :   37 
Профиль  Вебсайт

Re: check_geoip :: Определение региона/города посетителя по IP

infinity237, можешь расписать пример с номером, например выводить один для Казахстана, другой для России и третий для всех остальных стран. Спасибо!


Все сайты, что могут быть сделаны на ng cms, должны быть сделаны на ng cms.

Расширив границы сознания, мы открываем новые горизонты жизни.

Неактивен

 

#3 2018-01-02 10:28:03

ahatomik
Пользователь
Откуда: Киев
Зарегистрирован: 2012-07-02
Сообщений: 778
Профиль  Вебсайт

Re: check_geoip :: Определение региона/города посетителя по IP

infinity237, Круто !
Вот бы, действительно пример.. как, правильно вывод настроить.

Неактивен

 

#4 2018-01-02 12:55:13

Knopik
Пользователь
Откуда: ufa
Зарегистрирован: 2009-10-14
Сообщений: 331
Рейтинг :   55 
Профиль  Вебсайт

Re: check_geoip :: Определение региона/города посетителя по IP

easmik написал:

infinity237, можешь расписать пример с номером, например выводить один для Казахстана, другой для России и третий для всех остальных стран. Спасибо!

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

файл check_geoip.php, строка 66 меняем с

Код:

$status_data = $geo->get_value('city', true);

на

Код:

$status_data = $geo->get_value('country', true);

и в шаблоне меняем логику в js скрипте (просто заменяем)

<script>
$(document).ready(function(){

    $.post('/engine/rpc.php', { json : 1, methodName : 'check_geoip_rpc', rndval: new Date().getTime(), params : json_encode({ }) }, function(data) {
        // Try to decode incoming data
        try {
            resTX = eval('('+data+')');
        //    alert(resTX['data']['feedback_text']);
        } catch (err) { alert('Error parsing JSON output. Result: '+linkTX.response); }
        if (!resTX['status']) {
            alert('Error ['+resTX['errorCode']+']: '+resTX['errorText']);
        } else {
            if (resTX['data']['status_data'] == 100) {      // если запрос к rpc прошел успешно проверяем
                // Начало проверки
                if (resTX['data']['status_data_text'] == 'RU') {  // если статус равен RU, то выдаем номер для Ru и так далее
                    $("div#check_geoip_status").html("+7 999 1314151"); // Меняем номер
                }

                // Начало проверки
                if (resTX['data']['status_data_text'] == 'US') {
                    $("div#check_geoip_status").html("+5 555 333 999");
                }
            }
        }
    }).error(function() {
        alert('HTTP error during request', 'ERROR');
    });

});
</script>

<div id="check_geoip_status">Номер для всего мира</div>

как-то так

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.007 seconds, 11 queries executed ]