Jump to content
покупайте без комиссии
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

[Решено] Яндекс метрика, определение IP адреса


Recommended Posts

Всем привет.

 

Подскажите как правильно настроить определение IP адреса на яндекс матрике.

 

Если на OPENCART 2.3 - работает такая схема

в файле: САЙТ0/catalog/view/theme/***********/template/common/footer.tpl

<!-- Yandex.Metrika counter -->
<script type="text/javascript">
var yaParams = {ip_adress: "<?php echo $remote_addr; ?>"}
</script>

<script type="text/javascript" >
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounter*********** = new Ya.Metrika({
                    id:*************,
                    params:window.yaParams,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    webvisor:true
                });
            } 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/*************" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

Добавили скрипт:

var yaParams = {ip_adress: "<?php echo $remote_addr; ?>"}

params:window.yaParams,

 

И ВСЕ ПРЕКРАСНО РАБОТАЕТ НА OPENCART 2.3

 

А вот если этоже добавим на OPENCART 3.0 - то не хочет работать

в файле:

САЙТ/catalog/view/theme/***********/template/common/footer.twig

Первое это изменилось расширения файла

<!-- Yandex.Metrika counter -->
<script type="text/javascript">
var yaParams = {ip_adress: "<?php echo $remote_addr; ?>"}
</script>

<script type="text/javascript" >
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounter*********** = new Ya.Metrika2({
                    id:***********,
                    params:window.yaParams,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    webvisor:true
                });
            } 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/tag.js";

        if (w.opera == "[object Opera]") {
            d.addEventListener("DOMContentLoaded", f, false);
        } else { f(); }
    })(document, window, "yandex_metrika_callbacks2");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/***********" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

Показывает вот так и айпи не определяет:

 

400465218_.thumb.png.fe8a5ac9c584879504f41ae81fc6df4e.png

 

 

Как можно подправить код чтоб в яндекс метрике правильно отображался айпи адрес? 

Edited by Nannco
Link to post
Share on other sites

{{ remote_addr }} вместо <?php echo $remote_addr ; ?>

  • +1 1
Link to post
Share on other sites

31 минуту назад, thentru сказал:

{{ remote_addr }} вместо <?php echo $remote_addr ; ?>

спасибо поправил, сейчас протестирую. 

Link to post
Share on other sites

20 часов назад, thentru сказал:

{{ remote_addr }} вместо <?php echo $remote_addr ; ?>

 

Не помогло поменял код на:

 

<script type="text/javascript">
var yaParams = {ip_adress: "{{ remote_addr }}"}
</script>

Посмотри пожалуйста нет ошибки, так как сейчас это поле пустое с IP

Screenshot_1.thumb.jpg.4fcbe12eb33d5b6c8ba8044e44dd63fc.jpg

Link to post
Share on other sites

В контроллер футера что добавлено для определения IP покупателя?

Link to post
Share on other sites

17 минут назад, thentru сказал:

В контроллер футера что добавлено для определения IP покупателя?

// Whos Online
		if ($this->config->get('config_customer_online')) {
			$this->load->model('tool/online');

			if (isset($this->request->server['REMOTE_ADDR'])) {
				$ip = $this->request->server['REMOTE_ADDR'];
			} else {
				$ip = '';
			}

			if (isset($this->request->server['HTTP_HOST']) && isset($this->request->server['REQUEST_URI'])) {
				$url = ($this->request->server['HTTPS'] ? 'https://' : 'http://') . $this->request->server['HTTP_HOST'] . $this->request->server['REQUEST_URI'];
			} else {
				$url = '';
			}

			if (isset($this->request->server['HTTP_REFERER'])) {
				$referer = $this->request->server['HTTP_REFERER'];
			} else {
				$referer = '';
			}

			$this->model_tool_online->addOnline($ip, $this->customer->getId(), $url, $referer);
		}

		$data['scripts'] = $this->document->getScripts('footer');
		
		return $this->load->view('common/footer', $data);

Извиняюсь за глупый вопрос, из-за всех букв ЗАГЛАВНЫХ, может быть не соответствие ?

Edited by Nannco
Link to post
Share on other sites

Прочитайте еще раз инструкцию как сделать

 

  • +1 1
Link to post
Share on other sites

1 час назад, thentru сказал:

Прочитайте еще раз инструкцию как сделать

Большое спасибо разобрался Работает.

 

Для закрытия темы отвечу как решил

 

1. В контроле - footer 

после

$data['powered'] = sprintf($this->language->get('text_powered'), $this->config->get('config_name'), date('Y', time()));

вставляем

if (isset($this->request->server['REMOTE_ADDR'])) {
  $data['remote_addr'] = $this->request->server['REMOTE_ADDR'];
}

2. Обновляем модификатор

3. Ждём результата :)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.