Перейти к содержанию
Nannco

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

Рекомендуемые сообщения

Всем привет.

 

Подскажите как правильно настроить определение 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

 

 

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

Изменено пользователем Nannco

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
31 минуту назад, thentru сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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);

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

Изменено пользователем Nannco

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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. Ждём результата :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Вы комментируете как гость. Если у вас есть аккаунт, пожалуйста, войдите
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.