![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 14.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chcę założyć sklep oparty na prestashop i potrzebowałbym zmodyfikować jedną fukncjonalność. Przy przycisku "Dodaj do koszyka" chciałbym aby dodatkowo odświeżała się cała strona. Jestem laikiem i nie wiem czy coś takiego jest osiągalne. Doszedłem że fragment kodu, który odpowiada za wykonanie akcji dodawania do koszyka wygląda tak (mam nadzieję że to jest właściwy fragment (IMG:style_emoticons/default/wink.gif) ). Pochodzi z pliku ajax-card.js
pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 578 Pomógł: 69 Dołączył: 15.04.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tak, dodaj:
zamiast return. Tylko że mnie się wydaje że to zły pomysł - użytkownicy nie lubią jak im strona mruga. No i efekt dodawania do koszyka ci zniknie. Ja bym tego nie robił. Dlaczego tak chcesz zrobić? Ten post edytował timon27 14.07.2014, 11:52:24 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 14.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Chcę pokazać ile punktów rabatowych zostaje klientowi po dodaniu produktu (różnicz pomiędzy wartością zamówienia a zgromadzonymi punktami)
jednak wynik pokazuje się dopiero po odświeżeniu strony. Zrobiłem przycisk obok wartości punktów, ale to wymaga akcji klienta a chciałbym tego uniknąć. dodałem do kodu coś takiego:
ale pokazuje i błąd, że produktu nie można dodać do koszyka (pop-up) kiedy jednak kliknę ok dla błędu to produkt wchodzi. NIe wiem jak można inaczej to ugryźć. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jaki masz adres w przeglądarce kiedy wywołujesz reload?
P.S. Zainteresuj się Ajaxem. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 14.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wyskakuje ten sam błąd co powyżej, potem przeskakuje do koszyka i dodaje produkt (IMG:style_emoticons/default/sad.gif) localhost/presta-czysta/index.php?id_category=3&controller=category Cytat P.S. Zainteresuj się Ajaxem. z pewnością dobry pomysł, tylko, że nigdy więcej nie będzie mi on potrzebny, więc mam pewne opory (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tak:
window.open(window.location,'_self'); |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 14.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
(IMG:http://profesjonalnyretusz.pl/error.jpg)
Błąd wyskakuje jednak po kliknięciu "OK" produkt się dodaje do koszyka i strona się przeładowuje. Kod do wyświetlania błędu poniżej, możę da się uniknąć wyskawiwania tego komunikatu?
Dziękuję za wytrwałość (IMG:style_emoticons/default/wink.gif) Może inne rozwiązanie? czytałem o odświeżaniu DIV-a co x-sekund. Czy taka opcja mogłaby się sprawdzić? Odświeżanie DIV-a |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
To nie jest problem z przeładowaniem, a z samym Ajaxem.
Otwórz konsolę developerską w przeglądarce i zobacz co się dzieje w zakładce Sieć, z tym żądaniem (jaki status ma odpowiedź, jaka jest odpowiedź). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 14.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Pokazuje się:
Request URL:http://sklep.inkotime.pl/modules/blockcart/ajax-cart.js Request Method:GET Status Code:304 Not Modified przy zostwionym return false;
gdy wytnę return false; dalej mam 304 dla ajax-card.js + dodatkowa robi przekierowanie do podsumowania koszyka Adres sklepu poniżej: Sklep |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie o status tego żądania chodziło.
Ale ok. Przywróć na razie kod JS sprzed zmian (czyli bez reload czy window.open). |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 14.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
ok, wstawiony czysty
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
http://sklep.inkotime.pl/modules/blockcart/ajax-cart.js
Przed linią 263 dodaj reload lub window.open |
|
|
![]() ![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 14.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
WOW, pokłony MISTRZU, działa pięknie (IMG:style_emoticons/default/wink.gif) dziękuję pięknie
jeżeli to nie nadwyręży Twojego czasu, mógłbyś mi napisać jak podejrzeć Cytat jaki status ma odpowiedź, jaka jest odpowiedź w przeglądarce Ten post edytował 4Axis 15.07.2014, 11:07:12 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Po prostu podejrzyj żądanie, które jest wywoływane po kliknięciu w koszyk, ale nie teraz kiedy jest reload.
Ale ma to małe znaczenie w związku z rozwiązaniem. Najzwyczajniej reload był wywoływany przed poprawnym zakończeniem żądania Ajax, a pewność taka jest w metodzie success. Możesz ten efekt zobaczyć w zakładce sieć, żądanie będzie "zcancelowane". |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 14.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Super, jeszcze raz dziękuję. Najlepszego
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 00:41 |