Skocz do zawartości
karolbin1

nieprawidłowe zamówienie

Rekomendowane odpowiedzi

witam serdecznie

mam problem z zamówieniami, otóż gdy ktoś złoży zamówienie, automatycznie w produktach kupionych wyświetla produkt lub kilka więcej, pomimo iż ktoś tego nie wybrał. Cena do zapłaty jest taka jak być powinna. Skąd biorą się te produkty?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

w takim razie jak to naprawić?

Zamówienie w bazie danych rozkłada się na kilka tabel. Usunięcie zamówienia powoduje usunięcie tak na prawdę wpisu w głównej tabeli w której przechowywany jest numer zamówienia. Numer zamówienia nadawany jest na zasadzie "maksymalny istniejący numer + 1". Jeżeli usuniesz zamówienie, to nowe kolejne zamówienie będzie miało pierwszy wolny numer i może to być właśnie numer tego wcześniej usuniętego. A ponieważ dane z pozostałych tabel nie zostały usunięte, to podpięły się pod nowe zlecenie. Taką dodatkową tabelą jest właśnie tabela produktów dotyczących zamówienia oraz kilka innych.

 

Rozwiązaniem jest wyczyszczenie ręczne pozostałych tabel (tabele które zawierają kolumnę id_order) lub znalezienie modułu który czyści również pozostałe tabele.

Ja poradziłem sobie z tym problemem tworząc w bazie danych relacje między tabelami zamówienia z opcją kaskadowego usuwania danych.

 

Powershop24.pl

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

w takim razie jak to naprawić?

Zamówienie w bazie danych rozkłada się na kilka tabel. Usunięcie zamówienia powoduje usunięcie tak na prawdę wpisu w głównej tabeli w której przechowywany jest numer zamówienia. Numer zamówienia nadawany jest na zasadzie "maksymalny istniejący numer + 1". Jeżeli usuniesz zamówienie, to nowe kolejne zamówienie będzie miało pierwszy wolny numer i może to być właśnie numer tego wcześniej usuniętego. A ponieważ dane z pozostałych tabel nie zostały usunięte, to podpięły się pod nowe zlecenie. Taką dodatkową tabelą jest właśnie tabela produktów dotyczących zamówienia oraz kilka innych.

 

Rozwiązaniem jest wyczyszczenie ręczne pozostałych tabel (tabele które zawierają kolumnę id_order) lub znalezienie modułu który czyści również pozostałe tabele.

Ja poradziłem sobie z tym problemem tworząc w bazie danych relacje między tabelami zamówienia z opcją kaskadowego usuwania danych.

 

Powershop24.pl

ok dzięki to biore się za czyszczenie reszty tabel

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

wyczyściłem tabele z id_order i teraz mam błąd płatności:

Fatal error: Uncaught exception 'PrestaShopException' with message 'Can't load Order state status' in /home/mig/public_html/classes/PaymentModule.php:145 Stack trace: #0 /home/mig/public_html/modules/dotpay/dotpay.php(109): PaymentModuleCore->validateOrder(221, '13', 13.88, 'dotpay', NULL, Array, NULL, false, '05cf69cd7b87eb2...') #1 /home/mig/public_html/modules/dotpay/payment.php(12): Dotpay->execPayment(Object(Cart)) #2 {main} thrown in /home/mig/public_html/classes/PaymentModule.php on line 14

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

w takim razie jak to naprawić?

Zamówienie w bazie danych rozkłada się na kilka tabel. Usunięcie zamówienia powoduje usunięcie tak na prawdę wpisu w głównej tabeli w której przechowywany jest numer zamówienia. Numer zamówienia nadawany jest na zasadzie "maksymalny istniejący numer + 1". Jeżeli usuniesz zamówienie, to nowe kolejne zamówienie będzie miało pierwszy wolny numer i może to być właśnie numer tego wcześniej usuniętego. A ponieważ dane z pozostałych tabel nie zostały usunięte, to podpięły się pod nowe zlecenie. Taką dodatkową tabelą jest właśnie tabela produktów dotyczących zamówienia oraz kilka innych.

 

Rozwiązaniem jest wyczyszczenie ręczne pozostałych tabel (tabele które zawierają kolumnę id_order) lub znalezienie modułu który czyści również pozostałe tabele.

Ja poradziłem sobie z tym problemem tworząc w bazie danych relacje między tabelami zamówienia z opcją kaskadowego usuwania danych.

 

ok dzięki to biore się za czyszczenie reszty tabel
Oczywiście usuwasz tylko wpisy z id usuniętego zamówienia.

No i na wszelki wypadek backup bazy!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

teraz to jestem w dupie - nie zrobiłem backup bazy a tu bład podczas wyboru płatności:

Fatal error: Uncaught exception 'PrestaShopException' with message 'Can't load Order state status' in /home/mig/public_html/classes/PaymentModule.php:145 Stack trace: #0 /home/mig/public_html/modules/dotpay/dotpay.php(109): PaymentModuleCore->validateOrder(221, '13', 13.88, 'dotpay', NULL, Array, NULL, false, '05cf69cd7b87eb2...') #1 /home/mig/public_html/modules/dotpay/payment.php(12): Dotpay->execPayment(Object(Cart)) #2 {main} thrown in /home/mig/public_html/classes/PaymentModule.php on line 145

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

teraz to jestem w dupie - nie zrobiłem backup bazy a tu bład podczas wyboru płatności:

Fatal error: Uncaught exception 'PrestaShopException' with message 'Can't load Order state status' in /home/mig/public_html/classes/PaymentModule.php:145 Stack trace: #0 /home/mig/public_html/modules/dotpay/dotpay.php(109): PaymentModuleCore->validateOrder(221, '13', 13.88, 'dotpay', NULL, Array, NULL, false, '05cf69cd7b87eb2...') #1 /home/mig/public_html/modules/dotpay/payment.php(12): Dotpay->execPayment(Object(Cart)) #2 {main} thrown in /home/mig/public_html/classes/PaymentModule.php on line 145

A usuwałeś przypadkiem tabelę prefix_order_state?

To tabela które przechowuje statusy płatności dla zainstalowanych modułów płatności. Nie jest częścią zamówienia. W bazie do Prestashop 1.4 (nie wiem jak w pozostałych wersjach) w tej tabeli jest kolumna id_order_state, ale to zupełnie co innego niż kolumna id_order.

Może pomoże odinstalowanie i ponowne zainstalowanie wszystkich modułów płatności.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

kliknąłem odinstaluj i pisze że odinstalowane ale nadal jest zainstalowany.

spróbuje jeszcze przez ftp

Tabela order_state przechowuje też wszystkie inne statusy zamówień (w powiązaniu z tabelą order_state_lang).

Nawet jak przeinstalujesz moduły płatności, to będzie Ci brakować innych statusów. Spróbuj zainstalować na boku nową kopię Presty i z nowej bazy która powstanie skopiuj zawartość tych 2 tabel. Niektóre moduły płatności dorzucają swoje własne statusy.

Ewentualnie poproś admina serwera na którym masz bazę, aby udostępnił Ci backup bazy. Być może takie backup-y robią i przechowują.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

heheh

a może lepiej niech poprosi kogoś aby to zrobił za niego ;)

 

Ja wiem, ze fajnie jest coś samemu zrobić ale nie zawsze metoda prób i błędów ;) i nie na produkcyjnym sklepie ;)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się

Komentowanie zawartości tej strony możliwe jest po zalogowaniu



Zaloguj się



  • Przeglądający

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

  • Statystyki forum

    • Tematów
      7 819
    • Postów
      37 172
×