Русский English Deutsch Українська Қазақша

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

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

Вы не вошли.

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

infinity237
Модератор
Откуда: Russia, Moscow
Здесь с 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

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

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

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

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

Вне форума

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

easmik
VIP забанил этого пользователя.
Откуда: Анталья
Здесь с 2011-02-01
Сообщений: 1,016
Рейтинг :   37 
Сайт

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

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


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

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

Вне форума

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

ahatomik
Старожил
Откуда: Киев
Здесь с 2012-07-02
Сообщений: 832
Сайт

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

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

Вне форума

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

Knopik
Участник
Откуда: ufa
Здесь с 2009-10-14
Сообщений: 342
Рейтинг :   59 
Сайт

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>

как-то так

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.012 сек, 7 запросов выполнено - Использовано памяти: 531.61 Кбайт (Пик: 550.2 Кбайт) ]