Romalibert Опубликовано 9 февраля, 2014 Жалоба Поделиться Опубликовано 9 февраля, 2014 Добрый день, решил поделиться скриптом, который при попытке выйти со страницы сайта покажет сообщение и предложит остаться и оформить покупку, очень актуально если у вас много оставленных корзин на сайте, делается это просто:В cart.tpl добавляем: {if $smarty.cookies.exitshop == 'yes'} {if $cart->purchases} <script> {literal} var exitsplashmessage = 'ВЫ ДОБАВИЛИ ТОВАР В КОРЗИНУ, НО НЕ ОФОРМИЛИ ЗАКАЗ. ОФОРМИТЕ ЗАКАЗ СЕЙЧАС ИСПОЛЬЗУЯ КУПОН "bonus2014" И ПОЛУЧИТЕ СКИДКУ 10% НА ВСЁ.'; var exitsplashpage = 'http://ССЫЛКА НА САЙТ/cart'; function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); }}} function addClickEvent(a,i,func) { if (typeof a[i].onclick != 'function') { a[i].onclick = func; } } var theDiv = '<div id="ExitSplashDiv" style="display:block; width:100%; height:100%; position:absolute; background:#FFFFFF; margin-top:0px; margin-left:0px;" align="center">'; theDiv = theDiv + '<iframe src="'+exitsplashpage+'" width="100%" height="100%" align="middle" frameborder="0"></iframe>'; theDiv = theDiv + '</div>'; theBody = document.body; if (!theBody) {theBody = document.getElementById("body"); if (!theBody) {theBody = document.getElementsByTagName("body")[0];}} var PreventExitSplash = false; function DisplayExitSplash(){ if(PreventExitSplash == false){ window.scrollTo(0,0); PreventExitSplash=true; divtag = document.createElement("div"); divtag.setAttribute("id","ExitSplashMainOuterLayer"); divtag.style.position="absolute"; divtag.style.width="100%"; divtag.style.height="100%"; divtag.style.zIndex="99"; divtag.style.left="0px"; divtag.style.top="0px"; divtag.innerHTML=theDiv; theBody.innerHTML=""; theBody.topMargin="0px"; theBody.rightMargin="0px"; theBody.bottomMargin="0px"; theBody.leftMargin="0px"; theBody.style.overflow="hidden"; theBody.appendChild(divtag); return exitsplashmessage; } } var a = document.getElementsByTagName('A'); for (var i = 0; i < a.length; i++) { if(a[i].target !== '_blank') {addClickEvent(a,i, function(){ PreventExitSplash=true; });} else{addClickEvent(a,i, function(){ PreventExitSplash=false;});}}disablelinksfunc = function(){var a = document.getElementsByTagName('A'); for (var i = 0; i < a.length; i++) { if(a[i].target !== '_blank') {addClickEvent(a,i, function(){ PreventExitSplash=true; });} else{addClickEvent(a,i, function(){ PreventExitSplash=false;});}}} addLoadEvent(disablelinksfunc); disableformsfunc = function(){ var f = document.getElementsByTagName('FORM'); for (var i=0;i<f.length;i++){ if (!f[i].onclick){ f[i].onclick=function(){ PreventExitSplash=true; } }else if (!f[i].onsubmit){ f[i].onsubmit=function(){ PreventExitSplash=true; }}}} addLoadEvent(disableformsfunc); window.onbeforeunload = DisplayExitSplash; document.cookie='exitshop=no;path=/'; {/literal} </script> {/if} {/if} А после добавляем в product.tpl (products.tpl, main.tpl если у вас в этих шаблонах есть кнопка "добавить в корзину") к кнопке "добавить в корзину" код, устанавливающий cookie который и будет проверяться при выходе со страницы с корзиной: onclick="document.cookie='exitshop=yes;path=/';" Получится что-то вроде этого: <input type="submit" class="button radius addbutton expand imageeffect" value="В корзину" onclick="document.cookie='exitshop=yes;path=/';" added_text="добавлено"> Вот и всё, я реализовал данный скрипт только при выходе со страницы с корзиной, но его можно вставить на любую страничку сайта, для этого сам скрипт необходимо вставить в нужное место, например в index.tpl Цитата Ссылка на сообщение Поделиться на другие сайты
Sid_Vishez Опубликовано 13 февраля, 2014 Жалоба Поделиться Опубликовано 13 февраля, 2014 Круто, спасибо. Еще было бы замечательно оформить это сообщение не как системное от браузера, а как сообщение сайта. Такое реализовано на sotmarket.ru. Если у кого-то есть наработки, скиньте, пожалуйста. Цитата Ссылка на сообщение Поделиться на другие сайты
Romalibert Опубликовано 14 февраля, 2014 Автор Жалоба Поделиться Опубликовано 14 февраля, 2014 var exitsplashpage = 'http://ССЫЛКА НА САЙТ/cart'; Вот сюда прикрути скриптик Цитата Ссылка на сообщение Поделиться на другие сайты
Reni Опубликовано 17 февраля, 2014 Жалоба Поделиться Опубликовано 17 февраля, 2014 А что значит "скриптом, который при попытке выйти со страницы сайта покажет сообщение"? Добавил данный скрипт, реализовал его, закрываю и сайт закрывается. Ничего не показывает Где и что я мог упустить, хотя вроде упускать то тут нечего Цитата Ссылка на сообщение Поделиться на другие сайты
Romalibert Опубликовано 18 февраля, 2014 Автор Жалоба Поделиться Опубликовано 18 февраля, 2014 товар в корзину добавил? Ссылку в лс скинь, посмотрим Цитата Ссылка на сообщение Поделиться на другие сайты
SergeyKharkov Опубликовано 21 февраля, 2014 Жалоба Поделиться Опубликовано 21 февраля, 2014 Скажите, а как вообще отслеживать сколько брошеных корзин ? В день, по дням например.Можно поставить какой-то счетчик?А то сидишь и не знаешь - брошена-не брошена. Цитата Ссылка на сообщение Поделиться на другие сайты
Vice Опубликовано 22 февраля, 2014 Жалоба Поделиться Опубликовано 22 февраля, 2014 Скажите, а как вообще отслеживать сколько брошеных корзин ? В день, по дням например.Можно поставить какой-то счетчик?А то сидишь и не знаешь - брошена-не брошена.В метрике или ГА сделать 2 цели, 1 - добавление в корзину, 2 - оформление заказа. Тогда посещения, закончившиеся 1 целью и будут брошенной корзиной, а 1+2 заказом. Можно отсортировать и смотреть причину в вебвизоре. Цитата Ссылка на сообщение Поделиться на другие сайты
Romalibert Опубликовано 27 февраля, 2014 Автор Жалоба Поделиться Опубликовано 27 февраля, 2014 В метрике или ГА сделать 2 цели, 1 - добавление в корзину, 2 - оформление заказа. Тогда посещения, закончившиеся 1 целью и будут брошенной корзиной, а 1+2 заказом. Можно отсортировать и смотреть причину в вебвизоре.А причину-то как в вебвизоре понять? Цитата Ссылка на сообщение Поделиться на другие сайты
Vice Опубликовано 27 февраля, 2014 Жалоба Поделиться Опубликовано 27 февраля, 2014 А причину-то как в вебвизоре понять?Ну это всяко вам виднее. Может пользователь после просмотра доставки свалил. Может форма при оформлении заказа не работает. Может в заказе нужно заполнить 50 полей. Да какая угодно. Цитата Ссылка на сообщение Поделиться на другие сайты
Romalibert Опубликовано 28 февраля, 2014 Автор Жалоба Поделиться Опубликовано 28 февраля, 2014 Ну это всяко вам виднее. Может пользователь после просмотра доставки свалил. Может форма при оформлении заказа не работает. Может в заказе нужно заполнить 50 полей. Да какая угодно.в том-то и дело, что какая угодно, хрен отследишь почему корзину бросают Цитата Ссылка на сообщение Поделиться на другие сайты
Julius123 Опубликовано 19 июля, 2017 Жалоба Поделиться Опубликовано 19 июля, 2017 Проблема в том что если один раз покупатель запишет этот код купона то он может его использовать при каждой покупке или друзьям скинуть и т.д Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 19 июля, 2017 Жалоба Поделиться Опубликовано 19 июля, 2017 Проблема в том что если один раз покупатель запишет этот код купона то он может его использовать при каждой покупке или друзьям скинуть и т.дУ вас много друзей которые регулярно покупают товары в одном и том же магазине вместе с вами?Скупость одним словом. Цитата Ссылка на сообщение Поделиться на другие сайты
Just074 Опубликовано 19 июля, 2017 Жалоба Поделиться Опубликовано 19 июля, 2017 Проблема в том что если один раз покупатель запишет этот код купона то он может его использовать при каждой покупке или друзьям скинуть и т.дТак это же хорошо! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.