Форум русской поддержки Joomla!® CMS
07.12.2016, 16:36:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[Решено] Получить IP пользователя для Яндекс.Метрики (готов заплатить)

 (Прочитано 738 раз)
0 Пользователей и 1 Гость смотрят эту тему.
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« : 19.03.2016, 00:01:48 »

Нашел статью как выводить айпи пользователя в отчет вебвизора. У всех вроде как работает, а вот с Joomla проблемы. Автор рекомендует обратиться к спецеалистам по данной CMS. Подскажите, пожалуйста, как получить и передать параметр, который поймает IP.
Код метрики:

Код:
<!-- Yandex.Metrika counter -->

<script type="text/javascript">
var yaParams = {ip_adress: «<? echo $_SERVER[‘REMOTE_ADDR’];?>»};
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounter12345678 = new Ya.Metrika({
                    id:12345678,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    webvisor:true,
                    params:window.yaParams
                });
            } catch(e) { }
        });

        var n = d.getElementsByTagName("script")[0],
            s = d.createElement("script"),
            f = function () { n.parentNode.insertBefore(s, n); };
        s.type = "text/javascript";
        s.async = true;
        s.src = "https://mc.yandex.ru/metrika/watch.js";

        if (w.opera == "[object Opera]") {
            d.addEventListener("DOMContentLoaded", f, false);
        } else { f(); }
    })(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/12345678" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
« Последнее редактирование: 23.03.2016, 16:27:12 от b2z » Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #1 : 19.03.2016, 00:09:02 »

Код
/**
    * Функция возвращает текущий IP адрес
    * @return string|null
    */

   public function getIp()
   {
       if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
           $ip = $_SERVER['HTTP_CLIENT_IP'];
       } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
           $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
       } elseif (!empty($_SERVER['REMOTE_ADDR'])) {
           $ip = $_SERVER['REMOTE_ADDR'];
       } else {
           $ip = null;
       }
 
       return $ip;
   }
 
так во всех cms одинаково
Записан
passer
Живу я здесь
******

Репутация: +69/-3
Offline Offline

Пол: Мужской
Сообщений: 829



« Ответ #2 : 19.03.2016, 00:23:57 »

Код
<script>
var ip;
$.ajaxSetup({
   async: false
});
$.getJSON('//ipinfo.io/', function(data) {
   IP = data.ip;
});
console.log(ip);
</script>
Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #3 : 19.03.2016, 00:33:56 »

Код
/**
    * Функция возвращает текущий IP адрес
    * @return string|null
    */

   public function getIp()
   {
       if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
           $ip = $_SERVER['HTTP_CLIENT_IP'];
       } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
           $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
       } elseif (!empty($_SERVER['REMOTE_ADDR'])) {
           $ip = $_SERVER['REMOTE_ADDR'];
       } else {
           $ip = null;
       }
 
       return $ip;
   }
 
так во всех cms одинаково

в каком файле это прописывать надо? у меня метрика в CustomCode шаблона, там добавлял этот параметр, в итоге метрика мне выдовала все что угодно, только не ип. сейчас вот так выглядит все https://yadi.sk/i/7wyHdYwKqJfyu
Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #4 : 19.03.2016, 00:36:11 »

Код
<script>
var ip;
$.ajaxSetup({
   async: false
});
$.getJSON('//ipinfo.io/', function(data) {
   IP = data.ip;
});
console.log(ip);
</script>

это следует писать в скрипте метрики?
Записан
passer
Живу я здесь
******

Репутация: +69/-3
Offline Offline

Пол: Мужской
Сообщений: 829



« Ответ #5 : 19.03.2016, 00:39:42 »

Код
<script type="text/javascript">
var IP;
$.ajaxSetup({
   async: false
});
$.getJSON('//ipinfo.io/', function(data) {
  IP = data.ip;
});
var yaParams = {ip_adress: IP };
   (function (d, w, c) {
       (w[c] = w[c] || []).push(function() {
           try {
               w.yaCounter12345678 = new Ya.Metrika({
                   id:12345678,
                   clickmap:true,
                   trackLinks:true,
                   accurateTrackBounce:true,
                   webvisor:true,
                   params:window.yaParams
               });
           } catch(e) { }
       });
 
       var n = d.getElementsByTagName("script")[0],
           s = d.createElement("script"),
           f = function () { n.parentNode.insertBefore(s, n); };
       s.type = "text/javascript";
       s.async = true;
       s.src = "https://mc.yandex.ru/metrika/watch.js";
 
       if (w.opera == "[object Opera]") {
           d.addEventListener("DOMContentLoaded", f, false);
       } else { f(); }
   })(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/12345678" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #6 : 19.03.2016, 00:53:03 »

Код
<script type="text/javascript">
var IP;
$.ajaxSetup({
   async: false
});
$.getJSON('//ipinfo.io/', function(data) {
  IP = data.ip;
});
var yaParams = {ip_adress: IP };
   (function (d, w, c) {
       (w[c] = w[c] || []).push(function() {
           try {
               w.yaCounter12345678 = new Ya.Metrika({
                   id:12345678,
                   clickmap:true,
                   trackLinks:true,
                   accurateTrackBounce:true,
                   webvisor:true,
                   params:window.yaParams
               });
           } catch(e) { }
       });
 
       var n = d.getElementsByTagName("script")[0],
           s = d.createElement("script"),
           f = function () { n.parentNode.insertBefore(s, n); };
       s.type = "text/javascript";
       s.async = true;
       s.src = "https://mc.yandex.ru/metrika/watch.js";
 
       if (w.opera == "[object Opera]") {
           d.addEventListener("DOMContentLoaded", f, false);
       } else { f(); }
   })(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/12345678" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

не хочет он ип ловить(. опять выводит вместо ип абракадабру. https://yadi.sk/i/ktsdJDypqJgrq

возможно причина в том, что я не в файл PHP метрику вставил, а в КастомКод шаблона.
Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #7 : 19.03.2016, 01:21:19 »

Нашел статью как выводить айпи пользователя в отчет вебвизора. У всех вроде как работает, а вот с Joomla проблемы. Автор рекомендует обратиться к спецеалистам по данной CMS. Подскажите, пожалуйста, как получить и передать параметр, который поймает IP.
Код метрики:



Не удачный я шаблон выбрал походу.(((  
P.S. Метрика перед закрывающимся тегом боди.
Может так кто поможет.
Мне еще шрифт надо подключить, Raleway Thin (кирилический), это у меня тоже не получилось. Если есть желающие сделать это за не дорого, пишите цену и контакты.
« Последнее редактирование: 19.03.2016, 13:11:36 от aleck » Записан
Skaneris
Захожу иногда
**

Репутация: +5/-0
Offline Offline

Сообщений: 20


« Ответ #8 : 19.03.2016, 18:45:10 »

Похоже, как будто у вас редактор шаблона изменяет код перед выводом, по тому и не работает. А можете дать ссылку на сайт? Тот исходный код, который вы выложили должен работать.
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3532


« Ответ #9 : 19.03.2016, 19:11:00 »

Настройка IP для сбора метрикой происходит в настройках кода ни как сайт не может отдавать другой IP если код метрики вставлен правильно.
Не удачный я шаблон выбрал походу.(((   
P.S. Метрика перед закрывающимся тегом боди.
Может так кто поможет.
Мне еще шрифт надо подключить, Raleway Thin (кирилический), это у меня тоже не получилось. Если есть желающие сделать это за не дорого, пишите цену и контакты.
Шаблон думаю тут не имеет отношения ни какого. Просто неправильно вставлен, если конечно ни с чем не конфликтует.
Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #10 : 19.03.2016, 20:09:35 »

Похоже, как будто у вас редактор шаблона изменяет код перед выводом, по тому и не работает. А можете дать ссылку на сайт? Тот исходный код, который вы выложили должен работать.
proitlab точка ru
Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #11 : 19.03.2016, 20:16:24 »

Настройка IP для сбора метрикой происходит в настройках кода ни как сайт не может отдавать другой IP если код метрики вставлен правильно.Шаблон думаю тут не имеет отношения ни какого. Просто неправильно вставлен, если конечно ни с чем не конфликтует.
в комментариях к статье, у многих, у кого сайт на Joomla, проблемы с этим кодом. но кто то как-то решил их. вот я подумал это просто, поэтому и решил заморочится из любопытсва. оказалось что не просто.
сайт не работает мой, мне по сути эти айпи и не нужны, просто теперь уже дело принципа вроде. режут глаз не понятные символы вместо айпи которые вставились в метрику.
Записан
Skaneris
Захожу иногда
**

Репутация: +5/-0
Offline Offline

Сообщений: 20


« Ответ #12 : 19.03.2016, 21:44:54 »

В скрипте страницы вашего сайта нет строки присваивающей IP адрес переменной ip_adress массива yaParams (var yaParams = {ip_adress: «<? echo $_SERVER[‘REMOTE_ADDR’];?>»}; )

Рекомендую вам попробовать следующий вариант:
Установите у себя на сайте модуль, который позволяет выводить javascript и php код, например вот этот mod_flexi_customcode_v30 или подобный.
Вставьте в него ваш код Яндекс-Метрики и выведите где-нибудь на позиции футера, в самом низу. Если будете использовать указнный мной модуль, то в настройках не забудьте переключить USING PHP CODE? в положение YES

Уверен, что всё должно заработать.
« Последнее редактирование: 19.03.2016, 21:54:32 от Skaneris » Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #13 : 19.03.2016, 23:26:46 »

В скрипте страницы вашего сайта нет строки присваивающей IP адрес переменной ip_adress массива yaParams (var yaParams = {ip_adress: «<? echo $_SERVER[‘REMOTE_ADDR’];?>»}; )

Рекомендую вам попробовать следующий вариант:
Установите у себя на сайте модуль, который позволяет выводить javascript и php код, например вот этот mod_flexi_customcode_v30 или подобный.
Вставьте в него ваш код Яндекс-Метрики и выведите где-нибудь на позиции футера, в самом низу. Если будете использовать указнный мной модуль, то в настройках не забудьте переключить USING PHP CODE? в положение YES

Уверен, что всё должно заработать.


Модуль установил. Но с кодом **yaParams (var yaParams = {ip_adress: «<? echo $_SERVER[‘REMOTE_ADDR’];?>»}; )**, в переменной ip_adress, показывает только двойные ковычки вида <>. Попробовал вот так **<?php echo '<script>var yaParams = {ip_adress: "'. $_SERVER['REMOTE_ADDR'] .'" };</script>'; ?>** - через FireBug увидел что в первом скрипте, в переменной ип есть, но в вебвизоре его пока не вижу. Сижу вот жду, пока там все обновится, что бы посмотреть что он в отчете покажет.
Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #14 : 21.03.2016, 12:12:41 »

Модуль установил. Но с кодом **yaParams (var yaParams = {ip_adress: «<? echo $_SERVER[‘REMOTE_ADDR’];?>»}; )**, в переменной ip_adress, показывает только двойные ковычки вида <>. Попробовал вот так **<?php echo '<script>var yaParams = {ip_adress: "'. $_SERVER['REMOTE_ADDR'] .'" };</script>'; ?>** - через FireBug увидел что в первом скрипте, в переменной ип есть, но в вебвизоре его пока не вижу. Сижу вот жду, пока там все обновится, что бы посмотреть что он в отчете покажет.


IP в метрике так и не отобразились...
Записан
fsv
Практически профи
*******

Репутация: +330/-2
Offline Offline

Пол: Мужской
Сообщений: 2242


« Ответ #15 : 21.03.2016, 15:44:58 »

IP в метрике так и не отобразились...
Вы что-то где-то криво вставили - http://clip2net.com/s/3vQGw1U
Для этой цели модули какие-то ставить не надо было, в шаблоне прописали бы. А если есть свой один js-файл для всего "своего" js-кода, то лучше там, асинхронно загружать.
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3532


« Ответ #16 : 21.03.2016, 15:51:54 »

Вы что-то где-то криво вставили
Об этом с самого начало было сказано, но ТС ищет, что то где то читает, то что пишут не те кого читать надо.
Записан
aleck
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #17 : 23.03.2016, 14:57:55 »

Вы что-то где-то криво вставили - http://clip2net.com/s/3vQGw1U
Для этой цели модули какие-то ставить не надо было, в шаблоне прописали бы. А если есть свой один js-файл для всего "своего" js-кода, то лучше там, асинхронно загружать.

Большое спасибо!
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3532


« Ответ #18 : 23.03.2016, 16:23:44 »

Не за что.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet