Bezpośrednio platforma Shoper nie udostępnia możliwości pokazywania wyskakującego okienka (już nawet Google sugeruje nie używanie tego rozwiązania). Na dzisiaj jednak podarujemy sobie przesłanki o tym rozwiązaniu od gigantów i przedstawię miły i konkretny tekst na ten temat.
Shoper newsletter popup! Całą stylizacje można swobodnie modyfikować zgodnie z Twoimi wytycznymi. Docelowo powinno to wyglądać tak (efekt możecie zobaczyć na https://design-store.pl). Ładny, minimalistyczny i wycentrowany na ekranie :).
Shoper newsletter popup – funkcjonalność:
– po wyświetleniu strony użytkownikowi ma wyświetlić się okno z możliwością zapisania się do listy mailingowej z przyciskiem do potwierdzenia i formularzem,
– okno ma się wyświetlić z ustalonym opóźnieniem czasowym (na potrzeby wpisu 5 sekund),
– okno Pop Up’a ma wyświetlać się raz na godzinę,
– okienko musi działać na całym sklepie czyli w całej domenie lub sub domenie sklepu,
– nie ma być męczące, jednak przypominające o ważnej informacji przekazywanej ze sklepu do klienta.
Na wyskakujące okienko nie wpływa żadna aktualizacja sklepu więc z powodzeniem można ją zastosować.
Krok 1 – budujemy kod HTML wyświetlający nasze okienko:
<div id="popup_mask" style="display: none;"></div> <div id="popup_container"> <div id="popup_inner" style="display: none;"> <div class="popup_inner_left"> <h3>Bezpłatny newsletter </h3> <a href="#" onclick="newsletterOff();" id="exit">x</a> <p class="popup_description_container"> 5% rabatu na wszystkie produkty z sklepu za zapisanie się na nasz newsletter. </p> <form id="newsletterpro_form" action="/pl/newsletter/sign" method="post"> <fieldset> <div> <input class="input_email" type="text" name="email" value="" /> </div> <div> <button type="submit" class="popup_button_link"> <img src="/public/images/1px.gif" alt=""/> <span>Zapisz mnie</span> </button> </div> </fieldset> </form> <p> Chcę dostawać informacje handlowe o wyprzedażach i innych akcjach specjalnych. </p> </div> <div class="popup_inner_right"></div> </div> </div>
Najważniejsze 3 podstawowe elementy, które należy zostawić w spokoju to:
popup_mask – to element odpowiadający za przyciemnione tło pod okienkiem, popup_container – jest elementem pozwalającym na łatwiejsze i ładniejsze umiejscowienie głównego okna, popup_inner – odpowiada za główne okno z informacjami.
Krok 2 – przygotowanie kodu JavaScript zarządzającego pojawieniem się okna, opóźnieniem jego pojawiania się oraz sprawdzeniem czy dany odwiedzający od godziny nie był na stronie:
<script type="text/javascript">
document.onload = checkCookie(); /**/ function getCookie(c_name) { var i,x,y,ARRcookies=document.cookie.split(";"); for (i=0;i<ARRcookies.length;i++) { x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name) { return unescape(y); } } } /**/ function setCookie() { var exdate=new Date(); exdate.setDate(exdate.getDate() + 300); var c_value="newsleter_no" + ((300==null) ? "" : "; expires="+exdate.toUTCString()); document.cookie="newsletter" + "=" + c_value; } function timeMsg() { var t=setTimeout("newsletterOn()",3000); } /**/ function checkCookie() { var newsletter=getCookie("newsletter"); if (newsletter!=null && newsletter!="") { } else { setCookie(); timeMsg(); } } /**/ function newsletterOn() { document.getElementById("popup_inner").style.display = "block"; document.getElementById("popup_mask").style.display = "block"; document.getElementById("popup_container").style.display = "block"; }
Shoper popup według założeń ma się nie uaktywniać przez następna godzinę, działać na wszystkich podstronach (aby zapobiec każdorazowo wyskakiwać okienku po przejściu do rożnych zakładek w sklepie) oraz czasie po jakim ma się pojawić.
timeMsg
gdzie znajdziecie czas opóźnienia w milisekundach 5000 (czyli 5 sekund),
setCookie
tworzy ciasteczko, które pozwala później sprawdzić czy klient już u nas był
3600000
po jakim czasie okienko ma się pojawiać ponownie aby nie drażnić klienta gdy przegląda sklep, czas ustawiony na 1 godzinę (3600000 milisekund)
Krok 3 – Style naszego okienka aby miały piękny i profesjonalny wygląd również w wersji mobilnej (RWD)
Co tyczy się wersji „RWD” trzeba zmierzyć się z własnymi odczuciami i doświadczeniem w kreowaniu wyskakujących okienek na najmniejsze ekraniki telefonów. Również ekrany tabletów aby nie uciekła ważna do przekazania klientowi informacja i nie uznał Pop Up’a za stresującą reklamę. W tym przypadku zrezygnowałem z wyświetlania obrazka na najmniejszym ekranie z korzyścią do przekazania informacji oraz linku prowadzącego do podstrony.
to adres do pliku graficznego, który został wgrany do plików graficznych po stronie administracyjnej Shoper.
Krok 4 – wklejamy kody w odpowiednie miejsca po stronie administracyjnej i wgrywamy plik graficzny:
– kod z kroku 1
wklejamy w „Konfiguracja -> Integracje -> Integracje własne => Stopka strony, przed zamknięciem < / body >„,
– kod z kroku 2
wklejamy w „Konfiguracja -> Integracje -> Integracje własne => Nagłówek strony – < head >„,
– kod z kroku 3
wklejamy w „Konfiguracja -> Wygląd -> Aktywny styl graficzny => Własny styl CSS„,
– plik graficzny Shoper PopUp to 740 na 350 pikseli, któremu nadajemy nazwę „bg_popup.jpg”
aktualnie w tym sklepie aby móc pobrać obrazek do wyskakującego okienka musimy przejść do „http://TWOJA DOMENA SKLEPU/admin/configSkins/list” i wybrać „RWD – klasyczny (kopia 1)” (kopia stylu graficznego stworzona na potrzeby możliwości wgrywania plików graficznych). Jest używany jako biblioteka mediów w tym konkretnym przypadku potem przechodzimy do „Plików graficznych” i klikamy na plik „bg_popup.jpg”,a dokładnie na ołówek przy nim. Wybieramy przeglądaj i klikamy zapisz. Za pomocą FireBug w przeglądarce FireFox sprawdamy link do obrazka, kopiujemy go i wklejamy w nasz styl CSS.
Krok 5 – wersja funkcjonalności w jQuery z walidacją wpisanego adresu e-mail oraz kodem rabatowym za dopisanie o listy mailingowej.
Tworzymy rabat, w tym przypadku -5% na cały asortyment i dostępnością na jednego klienta. Kopiujemy kod rabatu do treści wiadomości newslettera z podziękowaniami do klienta.
Dodatkową wtyczkę jQuery do obsługi ciasteczek kontrolujących okienko wklejamy w „Konfiguracja -> Integracje -> Integracje własne => Nagłówek strony – < head >„,
function isValidEmailAddress(emailAddress) { var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); return pattern.test(emailAddress); }
});
5/5 - (3 votes)
Magda Jaworska
Tworzę mobilne aplikacje! Pasja to wszystkie aspekty projektowania stron www, ze szczególnym uwzględnieniem nietypowych funkcjonalności wymaganych w dzisiejszym e-commerce.
Witam, jak wchodzę na główną stronę swojej witryny to popup działa poprawienie, wyświetla się raz po kliknięciu zamknięcia. Problem pojawia się gdy wejdę na stronę np. bezpośrednio do produktu i wtedy popup pojawia mi się na każdej stronie, aż do momentu gdy wejdę na główną stronę i go zamknę. Co mam zrobić, aby to dobrze działało?
Zerknij na na tzw. „z-index” w CSS pewnie to jest powód dlaczego nie można zamknąć okienka. Co tyczy się całego ekranu to wykorzystuj vh w CSS do wysokości i szerokości okienka.
Witam, gdy wpisuje kod w odpowiednie miejsca na mojej stronie to nic nie działa ,a na stronie znika cała zawartość.
Jak zrobić to aby pojawił się newsletter w okienku i zawartość strony.
Dzień dobry, mam taki problem, ponieważ po wklejeniu kodu i stworzeniu pop-up’u, w momencie, w którym ktoś zapisuje się do newslettera, wyskakuje powiadomienie „Nieprawidłowy format adresu e-mail.”. Czy wie Pani co może być tego przyczyną? Pozdrawiam serdecznie.
Witam, jak wchodzę na główną stronę swojej witryny to popup działa poprawienie, wyświetla się raz po kliknięciu zamknięcia. Problem pojawia się gdy wejdę na stronę np. bezpośrednio do produktu i wtedy popup pojawia mi się na każdej stronie, aż do momentu gdy wejdę na główną stronę i go zamknę. Co mam zrobić, aby to dobrze działało?
W linijce:
bkj.cookie(„newsletterpro”, 1, { expires : 1 });
dopisać
path: '/’
czyli cała linjka będzie wyglądać tak:
bkj.cookie(„newsletterpro”, 1, { path: '/’, expires : 1 });
Na telefonie nadal jest popup na cały ekran – i co gorsze, nie można go wyłączyć ani się zapisać?
Co może być nie tak?
Zerknij na na tzw. „z-index” w CSS pewnie to jest powód dlaczego nie można zamknąć okienka. Co tyczy się całego ekranu to wykorzystuj vh w CSS do wysokości i szerokości okienka.
Aż tak się nie znam… Można prosić gotowy kod do wklejenia?
Wystarczy skopiować elementy z kodem
Witam, gdy wpisuje kod w odpowiednie miejsca na mojej stronie to nic nie działa ,a na stronie znika cała zawartość.
Jak zrobić to aby pojawił się newsletter w okienku i zawartość strony.
Poproszę o link do zdjęcia Krzysiek abym to mogła potwierdzić
Dzień dobry, mam taki problem, ponieważ po wklejeniu kodu i stworzeniu pop-up’u, w momencie, w którym ktoś zapisuje się do newslettera, wyskakuje powiadomienie „Nieprawidłowy format adresu e-mail.”. Czy wie Pani co może być tego przyczyną? Pozdrawiam serdecznie.
Proszę o w klejenie zrzutu z konsoli …