JustDavali Опубликовано 10 февраля, 2013 Жалоба Поделиться Опубликовано 10 февраля, 2013 Пару раз в обсуждениях всплывала тема по поводу метрики и ее настройки, а точнее как сделать так что бы метрика считала заказы (суммы и т.д.)Сам код метрики вставляет в index.tpl вот так:{if $module != 'OrderView'} {literal} <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter*********= new Ya.Metrika({id:**********, webvisor:true, clickmap:true, trackLinks:true, accurateTrackBounce: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 = (d.location.protocol == "https:" ? "https:" : "http:") + "//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="//mc.yandex.ru/watch/********" style="position:absolute; left:-9999px;" alt="" /></div></noscript> {/literal} {/if}А затем вот такую конструкцию в файл order.tpl {literal} <!-- Yandex.Metrika counter --> <script type="text/javascript"> var yaParams = { order_id: "{/literal}{$order->id}{literal}", order_price: {/literal}{$order->total_price}{literal}, currency: "RUR", exchange_rate: 1, goods: [ {/literal}{foreach $purchases as $purchase}{literal} { name: "{/literal}{$purchase->product_name|escape}{literal}", price: {/literal}{$purchase->price}{literal}, quantity: {/literal}{$purchase->amount}{literal} } {/literal} {if $purchase@last} {else},{/if} {/foreach}{literal} ] }; </script> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter********* = new Ya.Metrika({id:*********, webvisor:true, clickmap:true, trackLinks:true, accurateTrackBounce: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 = (d.location.protocol == "https:" ? "https:" : "http:") + "//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="//mc.yandex.ru/watch/***********" style="position:absolute; left:-9999px;" alt="" /></div></noscript> {/literal} **** - это ваш ID счетчика метрикиДля того, что бы все работало надо, что бы у вас были настроены цели - корзина и подтверждение заказаЕсли хотите настроить дополнительные цели, например что бы метрика считала сколько раз посетители нажали на кнопку "в корзину" с главной страницы, то можно сделать так:Добавляет цель в метрике, тип "событие"Идентификатор, например indexADD2CARTЗатем открываем main.tpl находим все места где успомнает кнопка "в корзину" и дописываем у нихonclick="yaCounter*******.reachGoal('mainADD2CART'); return true;"**** - это ваш ID счетчика метрикиПолучается что-то вроде этого:<input type="submit" class="productsMoreBtn" onclick="yaCounter******.reachGoal('mainADD2CART'); return true;" value="Купить" data-result-text="Купить"/>Теперь каждый раз когда вы или пользователь нажмет на главной странице кнопку "в корзину" в метрике будет засчитываться это как достижение цели.Таким же образом можно добавить ввиде целей абсолютно все действия на сайте.Просто нужным элементам добавляем:onclick="yaCounter*******.reachGoal('ID цели'); return true;"ID цели - ваш идентификатор, типа indexADD2CART, indexCREDIT, blogADDCOMMENT, productADDCOMMENT и т.д.p.s. ЕСТЬ КОСЯКИ В МОЕМ РЕШЕНИИ, Я САМ ЭТО ЗНАЮ! ВМЕСТО ТОГО, ЧТО БЫ ПИСАТЬ КАК КРИВО Я ПРЕДЛОЖИЛ СДЕЛАТЬ - ВЫЛОЖИТЕ КАК НАДО СДЕЛАТЬ ПРАВИЛЬНО Цитата Ссылка на сообщение Поделиться на другие сайты
JustDavali Опубликовано 10 февраля, 2013 Автор Жалоба Поделиться Опубликовано 10 февраля, 2013 То, что написанно выше стоит на нескольких рабочих сайтах.Поэтому не надо писать, что это не работает - просто подождите немного, метрика не сразу показывает заказы. Цитата Ссылка на сообщение Поделиться на другие сайты
creatonio Опубликовано 10 февраля, 2013 Жалоба Поделиться Опубликовано 10 февраля, 2013 О, спасибо, как раз вчера разбирался. Цитата Ссылка на сообщение Поделиться на другие сайты
nigga Опубликовано 25 февраля, 2013 Жалоба Поделиться Опубликовано 25 февраля, 2013 это ведь для версии 1.4 simpla подойдёт? Цитата Ссылка на сообщение Поделиться на другие сайты
JustDavali Опубликовано 25 февраля, 2013 Автор Жалоба Поделиться Опубликовано 25 февраля, 2013 писалось для 2.1.5для 1.4 - хз, я ее не видел ни разу Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 26 февраля, 2013 Жалоба Поделиться Опубликовано 26 февраля, 2013 вроде бы сделали всё по инструкции. вот часть кода скрипта, который удалось вытащить из кода страницы где уже заказ оформлен, а в метрики ничё нет!!!!что не так?<script type="text/javascript">var yaParams = { order_id: "858", order_price: 6300 , currency: "RUR", exchange_rate: 1, goods: [ { name: "Полотенцесушитель водяной Energy Classic 600x600 ", price: 5300, quantity: 1 } { name: "Доставка чугунных ванн в пределах МКАД", price: 1000 } ]};</script> Цитата Ссылка на сообщение Поделиться на другие сайты
JustDavali Опубликовано 26 февраля, 2013 Автор Жалоба Поделиться Опубликовано 26 февраля, 2013 Доставка чугунных ванн в пределах МКАД - это что?цели настроенны правильно? Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 26 февраля, 2013 Жалоба Поделиться Опубликовано 26 февраля, 2013 Доставка чугунных ванн в пределах МКАД - это доставка! а не товар.....цели настроены правильно:1. Цель Корзина содержит «/cart» (корзина) 2. Цель Подтверждение заказа содержит «/order» (заказ) 3. оплата и доставка содержит «/sections/oplata_i_dostavka» 4. Контакты содержит «/sections/contacts» 5. О компании содержит «sections/about» Цитата Ссылка на сообщение Поделиться на другие сайты
JustDavali Опубликовано 26 февраля, 2013 Автор Жалоба Поделиться Опубликовано 26 февраля, 2013 в любом случае между} {должна быть запятая, смотрите свой order.tpl и правьте.и должно стоятьquantity: 1 у доставки.и по уму считать доставку как проданный товар неправильно на мой взгляд Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 26 февраля, 2013 Жалоба Поделиться Опубликовано 26 февраля, 2013 запятая теперь есть!! а данные когда будут отображаться в метрике??????? тестировал корзину - пока пусто.......... Цитата Ссылка на сообщение Поделиться на другие сайты
JustDavali Опубликовано 26 февраля, 2013 Автор Жалоба Поделиться Опубликовано 26 февраля, 2013 если оформить новый заказ через корзину - то 100% в метрике все будет. Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 26 февраля, 2013 Жалоба Поделиться Опубликовано 26 февраля, 2013 вот полный код из одного подтвенрждённого заказа в исходном коде!!!!!!!посмотрите что в нём не так!!!!!!!!данных ещё нет!!!!!!<!-- Yandex.Metrika counter --><script type="text/javascript">var yaParams = { order_id: "871", order_price: 3695, currency: "RUR", exchange_rate: 1, goods: [ { name: "название товара1", price: 3695, quantity: 1 } , { name: "название товара2", price: 0, quantity: 1 } ]};</script><script type="text/javascript">(function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter16628108 = new Ya.Metrika({id:16628108, webvisor:true, clickmap:true, trackLinks:true, accurateTrackBounce: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 = (d.location.protocol == "https:" ? "https:" : "http:") + "//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="//mc.yandex.ru/watch/16628108" style="position:absolute; left:-9999px;" alt="" /></div></noscript><!-- /Yandex.Metrika counter --> Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 а не может быть конфликта что на странице подтверждения заказа две метрики установлены?????? так как одна в индекс файле, другая в ордере, получается в ордере две метрики, так как одна метрика берётся из индекс файла....... Цитата Ссылка на сообщение Поделиться на другие сайты
JustDavali Опубликовано 27 февраля, 2013 Автор Жалоба Поделиться Опубликовано 27 февраля, 2013 ну вот вы сами ответили на свой вопрос.почитайте мою инструкцию плиз, там примеры того как надо вставлять коды есть {if $module != 'OrderView'} Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 понЯтно!!!!!!!!! сделал по другому!вставил в индекс это, а в ордер как и положено по инструкции<?php $sv = $_SERVER['REQUEST_URI']; if ($sv == '/order/'.basename($_SERVER['REQUEST_URI'])) { ?><?php } else { ?><!-- Yandex.Metrika counter --><script type="text/javascript">var yaParams = {/*Здесь параметры визита*/};</script><script type="text/javascript">(function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter16628108 = new Ya.Metrika({id:16628108, webvisor:true, clickmap:true, trackLinks:true, accurateTrackBounce: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 = (d.location.protocol == "https:" ? "https:" : "http:") + "//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="//mc.yandex.ru/watch/16628108" style="position:absolute; left:-9999px;" alt="" /></div></noscript><!-- /Yandex.Metrika counter --><?php } ?> Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 не работает! Цитата Ссылка на сообщение Поделиться на другие сайты
yoshkin Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 Все работает, попробуйте отредактировать у себя вот эту часть, с учетом синтаксиса вашей версии симплы Цитата Ссылка на сообщение Поделиться на другие сайты
yoshkin Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 <script type="text/javascript">var yaParams = { order_id: "{/literal}{$order->id}{literal}", order_price: {/literal}{$order->total_price}{literal}, currency: "RUR", exchange_rate: 1, goods: [ {/literal}{foreach $purchases as $purchase}{literal} { name: "{/literal}{$purchase->product_name|escape}{literal}", price: {/literal}{$purchase->price}{literal}, quantity: {/literal}{$purchase->amount}{literal} } {/literal} {if $purchase@last} {else},{/if} {/foreach}{literal} ]}; Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 да мне надо исходники, которые надо засовывать в файл, который хранится в папке compiled, а не в папке шаблона!!!!!!! Цитата Ссылка на сообщение Поделиться на другие сайты
yoshkin Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 bibigontv, удивляют люди, которым пытаются помочь, а они еще и не довольны. Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 киньте исходник примерного кода, который должен быть в коде подтверждения заказа!!!!!! сверить со своим ....... желательно с примером двух и более товаровА мне надо миллион, скинете? Будьте уважительные к тем кто вам БЕСПЛАТНО помогает. Модератор. Цитата Ссылка на сообщение Поделиться на другие сайты
JustDavali Опубликовано 27 февраля, 2013 Автор Жалоба Поделиться Опубликовано 27 февраля, 2013 редактировать надо файлы в папке с шаблоном /design/имя шаблонав компилед ничего засовывать не надо. даже из любопытствав самом первом сообщении все есть для подключения метрики. все описанно как вставлять. не надо ничего выдумывать Цитата Ссылка на сообщение Поделиться на другие сайты
bibigontv Опубликовано 27 февраля, 2013 Жалоба Поделиться Опубликовано 27 февраля, 2013 всё, всем спасибо огромное, всё заработало Цитата Ссылка на сообщение Поделиться на другие сайты
Feache Опубликовано 4 марта, 2013 Жалоба Поделиться Опубликовано 4 марта, 2013 Спасибо, все хорошо работает! Цитата Ссылка на сообщение Поделиться на другие сайты
oriolun Опубликовано 6 мая, 2013 Жалоба Поделиться Опубликовано 6 мая, 2013 А у меня белый лист, неисписано чист.. И в литерал оборачивал и перед закрытием боди, и после открытия, и кэш чистил, и перезагружал 250 раз. Кто-нибудь сталкивался? Забыл в закрывающем литерал «/» поставить.. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.