Jump to content

Błędy przy składaniu zamówienia


Recommended Posts

Witam ponownie

 

Teraz mam problem z błędami w trakcie składania zamówienia:

Przy 3 i 4 kroku:

Warning: Function isLogged() is deprecated in /virtual/pl/kxd/sklep/modules/blockmyaccountfooter/blockmyaccountfooter.php on line 79
in /virtual/pl/kxd/sklep/classes/Tools.php on line 1961

oraz w piątym kroku (cashondeliveryplus/validation):

Warning: Parameter id_lang in function displayDate() is deprecated in /virtual/pl/kxd/sklep/modules/cashondeliveryplus/cashondeliveryplus.php on line 693
in /virtual/pl/kxd/sklep/classes/Tools.php on line 1961

ostatni jest wkurzający bo biała strona kończąca zamówienie wprowadza w błąd.  Zamówienie ląduje w adminie i mail idzie.

Link to comment
Share on other sites

to nie są błędy, mimo, że na takie wyglądają.

są to wewnętrzne komunikaty prestashop informujące o  tym, że moduł z którego korzystasz wykorzystuje funkcje które są "deprecated", brakuje mi Polskiego odpowiednika, coś w stylu "wycofane", "nieaktualne".

 

po prostu moduł korzysta ze starych metod (które mimo wszystko działają) a prestashop o tym jedynie informuje. owa informacja nie wpływa na działanie sklepu, poza wyświetlaniem tych komunikatów w trakcie przeglądania sklepu w trybie debugowania (z włączonym trybem debugowania)

Link to comment
Share on other sites

heh rozumiem

Niestety biała strona straszy przy zakupach za pobraniem (mam czeski moduł). Przy innych metodach płatności np. przelewem wszystko idzie OK

 

Jak zakupuję za pobraniem to dodatkowo oprócz białej strony to w mailu brak zestawienia zakupionych produktów, tylko info o numerze zamówienia

Link to comment
Share on other sites

  • 2 weeks later...

No to odświeżam temacik w sprawie białej strony przy zamówieniach za pobraniem (Moduł COD).

 

Dużo poszukiwałem w necie i problem białej strony jest w zasadzie powszechny i nie ma przepisu na poprawne działanie.

Doszedłem już do pewnych spostrzeżeń i się okazuje, że problemem jest brak przekazania zmiennej do funkcji przekierowania  '&id_order='.$this->module->currentOrder;

 

W momencie wykonywania $this->module->validateOrder(..) nie zwraca numeru zamówienia i wtedy nie ma poprawnego przekierowania do potwierdzenia zamówienia.

Gdy spreparowałem gotowy link i wstawiam ręcznie numer to wszystko działa tak jak potrzeba (pomijam, że w mailu nie przychodzi zestawienie zakupionych przedmiotów z podsumowaniem)

 

Może udało by się nam wspólnymi siłami rozwiązać ten powszechny problem?

Link to comment
Share on other sites

Sorki za post pod postem ale nie chciałem zmieniać poprzedniego brzmienia postu.

 

PO dodatkowych kombinacjach jednak nie chodzi o $this->module->currentOrder  a problem jest w ustawianiu statusu dla zamówienia.

Dla testu zmieniłem w linijce:

$this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key)

Configuration::get('PS_OS_PREPARATION') na Configuration::get('PS_OS_BANKWIRE')

 

i o dziwo doszedł mail z zestawieniem oraz całe zamówienie się poprawnie zakończyło bez białej strony.

 

Minusem jest, że przyszedł dodatkowy mail o przelewie bankowym do realizacji co nie powinno dziwić, bo wybrałem status przelewu bankowego.

 

Teraz nie wiem gdzie tego dalej szukać? Gdzie znajdę obróbkę sposobów ustawiania statusów zamówienia.

Link to comment
Share on other sites

No to dalej sobie będę prowadził konwersację ;)

 

Po analizowaniu dalej problemu okazało się, że jak powyłączam w statusie zamówienia Przygotowanie w toku generowania PDF faktury i listu przewozowego można realizować normalnie zakupy poprzez COD

 

Zauważyłem również, że nie generują się pdf-y tj. przekierowuje na link i pojawia się biała strona a nie jest generowany plik do ściągnięcia.

 

Mam też czystą instalację sklepu 1.5.6.2 i tam generacja PDF idzie bezproblemowo.

Link to comment
Share on other sites

  • 1 month later...

Rozwiązanie problemu z COD , PS 1.5.6.2
 
1. Utwórz nowy status w BO / lub wybierz jakiś istniejący. 
2. Obok statusu zapamiętaj jego ID (np. 22)

3. Zmień w : /modules/cashondelivery/controllers/front/validation.php 

$this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key); 

na 

$this->module->validateOrder((int)$this->context->cart->id, 22, $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);
Link to comment
Share on other sites

×
×
  • Create New...