Files
drmaterac.pl/.paul/phases/01-cross-sell-pro-koszyk/01-01-PLAN.md
2026-04-01 01:17:17 +02:00

5.8 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous
phase plan type wave depends_on files_modified autonomous
01-cross-sell-pro-koszyk 01 execute 1
modules/crosssellpro/crosssellpro.php
modules/crosssellpro/views/templates/hook/cartCrossSell.tpl
modules/crosssellpro/views/js/cartCrossSell.js
modules/crosssellpro/views/css/cartCrossSell.css
false
## Goal Zaimplementowac modul Cross Sell PRO, ktory na stronie koszyka wyswietla karuzele produktow uzupelniajacych pobieranych z relacji "Powiazany produkt" i poprawnie obsluguje dodawanie do koszyka/produkty wariantowe.

Purpose

Zwiekszyc srednia wartosc koszyka i ulatwic klientowi kompletowanie zamowienia bez opuszczania flow koszyka.

Output

Dzialajacy modul Prestashop 1.7.8.11 (PHP 7.4) z hookiem koszyka, warstwa widoku karuzeli i logika CTA zalezna od typu produktu.

## Project Context @.paul/PROJECT.md @.paul/ROADMAP.md @.paul/STATE.md

Source Files

@modules/ @controllers/ @themes/

<acceptance_criteria>

AC-1: Render sekcji Cross Sell pod kontenerem koszyka

Given Uzytkownik otwiera strone koszyka /koszyk?action=show
When Strona koszyka sie renderuje
Then Pod elementem "div.card.cart-container" widoczna jest sekcja Cross Sell PRO

AC-2: Produkty sa pobierane z relacji "Powiazany produkt"

Given Produkt bazowy w koszyku ma zdefiniowane produkty powiazane w Prestashop
When Modul buduje liste podpowiedzi
Then Karuzela pokazuje tylko produkty pochodzace z tych relacji

AC-3: Karuzela pokazuje wymagane dane produktu

Given Lista cross-sell zawiera co najmniej 1 produkt
When Sekcja Cross Sell sie wyswietla
Then Kazdy slajd zawiera zdjecie, nazwe, cene i przycisk "Dodaj do koszyka"

AC-4: Poprawne zachowanie CTA dla wariantow

Given Produkt cross-sell ma kombinacje i wymaga wyboru wariantu
When Uzytkownik klika przycisk CTA
Then Uzytkownik zostaje przekierowany na strone produktu zamiast szybkiego add-to-cart

AC-5: Poprawne zachowanie CTA dla produktow prostych

Given Produkt cross-sell nie wymaga wyboru wariantu
When Uzytkownik klika przycisk "Dodaj do koszyka"
Then Produkt jest dodawany do koszyka bezposrednio z sekcji Cross Sell

</acceptance_criteria>

Task 1: Utworzyc szkielet modulu i logike pobierania produktow cross-sell modules/crosssellpro/crosssellpro.php Utworzyc modul Cross Sell PRO zgodny z Prestashop 1.7.8.11 i PHP 7.4. Zarejestrowac odpowiedni hook koszyka oraz pobieranie danych produktow z relacji "Powiazany produkt" dla produktow znajdujacych sie aktualnie w koszyku. Zapewnic deduplikacje wynikow i odfiltrowanie produktow nieaktywnych/niedostepnych. Przygotowac dane do widoku: obrazek, nazwa, cena, URL produktu, flaga czy produkt ma warianty, parametry add-to-cart dla produktow prostych. Unikac modyfikacji plikow core Prestashop - cala logika musi byc kapsulowana w module. Instalacja modulu przebiega bez bledow, hook zwraca kolekcje danych cross-sell dla koszyka testowego. AC-2 satisfied; AC-5 preconditions prepared. Task 2: Zbudowac widok karuzeli i frontend CTA modules/crosssellpro/views/templates/hook/cartCrossSell.tpl, modules/crosssellpro/views/js/cartCrossSell.js, modules/crosssellpro/views/css/cartCrossSell.css Zaimplementowac sekcje UI renderowana pod "card cart-container" z ukladem karuzeli. W slajdzie pokazac: zdjecie, nazwe, cene i przycisk CTA. Dodac JS obslugujacy przewijanie karuzeli i klikniecia CTA. Dla produktow z wariantami CTA wykonuje przekierowanie na URL produktu. Dla produktow prostych CTA uruchamia add-to-cart (POST lub link zgodny ze standardem Prestashop). Dodac stylowanie responsywne desktop/mobile i podstawowy fallback (lista bez JS). Manualny test na /koszyk?action=show potwierdza render sekcji i oba scenariusze CTA (wariant/bez wariantu). AC-1, AC-3, AC-4, AC-5 satisfied. Modul Cross Sell PRO z sekcja karuzeli na stronie koszyka i logika CTA zalezna od wariantow. 1. Zainstaluj i wlacz modul Cross Sell PRO w zapleczu Prestashop. 2. Dodaj do koszyka produkt, ktory ma zdefiniowane "Powiazane produkty". 3. Otworz: https://drmaterac.pl/koszyk?action=show 4. Sprawdz, czy sekcja jest pod "card cart-container" i czy slajdy zawieraja obraz, nazwe, cene, CTA. 5. Kliknij CTA produktu prostego: powinien wejsc do koszyka. 6. Kliknij CTA produktu z wariantami: powinno byc przekierowanie do strony produktu. Type "approved" to continue, or describe issues to fix

DO NOT CHANGE

  • Core Prestashop poza katalogiem modules/crosssellpro/*
  • Istniejace modyfikacje checkoutu niezwiązane z Cross Sell PRO

SCOPE LIMITS

  • Bez zmian w logice zamowienia, platnosci i dostawy.
  • Bez rozbudowanego panelu konfiguracji modulu poza minimum potrzebnym do uruchomienia.
  • Bez przebudowy layoutu calej strony koszyka.
Before declaring plan complete: - [ ] Modul instaluje sie i aktywuje bez bledow PHP 7.4. - [ ] Sekcja renderuje sie na /koszyk?action=show pod "card cart-container". - [ ] Dane produktow pochodza z relacji "Powiazany produkt". - [ ] CTA dziala poprawnie dla produktow prostych i wariantowych. - [ ] Widok jest czytelny na desktopie i mobile.

<success_criteria>

  • All tasks completed
  • All verification checks pass
  • No errors or warnings introduced
  • Cross Sell PRO dziala zgodnie z wymaganiami biznesowymi koszyka </success_criteria>
After completion, create `.paul/phases/01-cross-sell-pro-koszyk/01-01-SUMMARY.md`