atomek Posted July 1, 2024 Share Posted July 1, 2024 Witam, Tłumaczę o co chodzi. Na stronie produktu jest zakładka "Szczegóły produktu", wyświetlają się tam m.in. cechy produktu, logo producenta, indeks, itp. Mam też zainstalowane moduły typu "Produkty w tej samej kategorii" i "Sprzedaż łączona". Wybieram szybki podgląd jednego z produktów z w/w modułów. Po zmianie ilości lub atrybut w oknie szybkiego podglądu otrzymuję taki efekt: Zawartość zakładki "Szczegóły produktu" została zmieniona, zastąpiona danymi z produktu z szybkiego podglądu. Szablon to standardowy classic, presta bez żadnych modyfikacji. Zrzuty ekranu pochodzą z PS 1.7.8.7, w PS 8.1.6 jest to samo (w innych wersjach pewnie też). Mam wrażenie, że nie jest to bezpośrednio zależne od templatki. Przeglądałem kilka innych, również komercyjnych szablonów i w każdym z nich był podobny efekt. Ma ktoś z Was pomysł jak naprawić tego babola? Pozdrawiam Link to comment Share on other sites More sharing options...
endriu107 Posted July 1, 2024 Share Posted July 1, 2024 Testowałem problem na kilku szablonach podobnie jak ty i faktycznie problem występuje ale efekty na niektórych szablonach są różne. Niektóre zawieszają widok części strony produktu ale w znacznej większości efekt jest taki jak sam opisałeś. Nie zagłębiałem się bardziej ale na pierwszy rzut oka problem jest jednak w tym że kod js szablonu dla akcji updateProduct odpala się dla id="product-details" globalnie a nie w samym okienku. Idealnie by było jakby id="product-details" miało na końcu id produktu i po tym by aktualizowało. 1 Link to comment Share on other sites More sharing options...
atomek Posted July 2, 2024 Author Share Posted July 2, 2024 Dzięki @endriu107 za wskazówkę, problem rozwiązałem, zrobiłem zmiany w core.js. Moje rozwiązanie problemu, może komuś się przyda. W pliku /themes/_core/js/product.js (wersja developerska PS 8.1.6) w funkcji updateProduct około 250 wiersza było: $(prestashop.selectors.product.details).replaceWith( data.product_details, ); zamieniłem na: const isQuickView = $('.modal.quickview.in').length; if (!isQuickView) { $(prestashop.selectors.product.details).replaceWith( data.product_details, ); } Po zmianach należy przebudować core.js za pomocą webpacka. 1 Link to comment Share on other sites More sharing options...
endriu107 Posted July 2, 2024 Share Posted July 2, 2024 Super, generalnie można by to było zgłosić na githubie żeby w przyszłości nie poprawiać. 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