jestemradek Posted April 10, 2017 Share Posted April 10, 2017 Witajcie. Sprawa dotyczy tego, że istnieje możliwość zamówienia produktu, którego nie ma na stanie. Doskonale poznałem opcję "Zezwól na zamówienie gdy stan zerowy" jednak wyłączenie jej pomaga tylko trochę, a mianowicie deaktywuje przycisk "dodaj do koszyka". Jednak załóżmy taką sytuację: 1. Są na stanie 2 produkty. 2. Klient dodaje do koszyka 1 szt, ale zwleka z zamówieniem. 3. W międzyczasie stan magazynowy zmienił się na 0. 4. Klient nadal ma produkt w koszyku i jeśli próbuje sfinalizować zamówienie, system zezwala mu na to, dokonuje zamówienia i zapłaty, a na stanie sklepu jest -1 (minus jeden) produkt. Kasa jest na koncie, a produktu do wysłania brak i mamy kwas. Wyłączenie produktu również nie pomaga, jeśli był wcześniej dodany do koszyka, to zamówienie da się sfinalizować. Znalazłem rozwiązanie do poprzednich wersji presta: http://nemops.com/auto-remove-products-prestashop-cart/#.WOuLToiLSHs Jednak rozwiązanie nie pasuje do wersji 1.7. Czy ma ktoś pomysł jak rozwiązać ten problem? Pozdrawiam Radek Link to comment Share on other sites More sharing options...
endriu107 Posted April 10, 2017 Share Posted April 10, 2017 Jaka dokładnie wersja presty? Link to comment Share on other sites More sharing options...
jestemradek Posted April 10, 2017 Author Share Posted April 10, 2017 v1.7.1.0 Link to comment Share on other sites More sharing options...
jestemradek Posted April 11, 2017 Author Share Posted April 11, 2017 Już sobie poradziłem. Musiałem zmodyfikować plik OrderController.php i wrzucić do folderu overrides. W miejscu public function initContent() { if (Configuration::isCatalogMode()) { Tools::redirect('index.php'); } poniżej dopisałem if($this->context->cart->checkQuantities() !== true) { $product=$this->context->cart->checkQuantities(true); $link=new Link(); Tools::redirect($link->getRemoveFromCartURL($product['id_product'], 0)."&productremoved=true"); } a w pliku Cart.tpl {extends file=$layout} {block name='content'} <section id="main"> poniżej dopisałem {if isset($smarty.get.productremoved)} <div class="alert alert-warning" role="alert"> {l s='Niestety wybrany produkt nie jest już dostępny i został usunięty z koszyka.' d='Shop.Theme.Checkout'} </div> {/if} Działa elegancko. Spędziłem nad tym prawie 8h. Już kombinowałem, żeby jquerem z ajaxem podmieniać url przycisku przechodzącego do zamówienia, ale w końcu mnie oświeciło. Pozdrawiam Radek 1 Link to comment Share on other sites More sharing options...
Hardzik Posted April 11, 2017 Share Posted April 11, 2017 Już sobie poradziłem. Musiałem zmodyfikować plik OrderController.php i wrzucić do folderu overrides. Cześć, z czystej ciekawości zapytam, jak już stawiasz sklep na 1.7.1 czy jak zainstalujesz moduł ochrona danych osobowych, czy też wali ci błędem jak włączysz sklep w tryb debugowania? Na czystej instalacji presty instalując, ten moduł wywala błąd co uniemożliwia rejestrację nowego klienta. Link to comment Share on other sites More sharing options...
jestemradek Posted April 12, 2017 Author Share Posted April 12, 2017 Kolego robisz bałagan na forum, powinieneś założyć nowy wątek. Ja tego modułu nie wgrywałem i nie mam pojęcia skąd go wziąłeś. Link to comment Share on other sites More sharing options...
Hardzik Posted April 12, 2017 Share Posted April 12, 2017 Kolego robisz bałagan na forum, powinieneś założyć nowy wątek. Ja tego modułu nie wgrywałem i nie mam pojęcia skąd go wziąłeś. Kolego, nie zrozumiałeś, mnie ja nie proszę cię o rozwiązanie problemu. Więc nie widzę potrzeby zakładania nowego wątku. Pytanie skierowałem do ciebie, jako że stawiasz, sklep na 1.7.1 więc postanowiłem zapytać, czy jak będziesz instalować moduł (Customer data privacy block) czy też będziesz miał błędy, ale jeśli nie wiesz co to za moduł i jaką funkcje pełni w twoim sklepie uznaj, moje pytanie za zbędne pozdrawiam. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now