Plan 02-01 (piece/crop configurator, complete):
- #piece reuse z shared partial product-cover-thumbnails.tpl
- 8 hidden inputs (is_crop, crop_pos_x/y, crop_width/height, piece_bg_top/left, is_reflection) w formie #add-to-cart-or-refresh
- Defensive setup w custom.js: setTimeout(600) init, no-op override totalpriceinfospecific/prod, DOM stubs
- CSS scope pod body#product .product-size-data .product-size-data--new
Plan 02-02 (add-to-cart submission, PARTIAL):
- Capture-phase native addEventListener (useCapture=true) blokuje PS core crash
(button poza formą w nowym layoucie — closest('form') zwracało 0)
- Manualny AJAX POST: form.serialize() + qty + add=1&action=update do /pl/koszyk
- Fancybox-blocker port z custom.js:327 (nie odpalał się bo selector 0 matches)
- Manual sync is_crop/crop_width/height przed POST (obejście crash checkedHandler)
- prestashop.emit('updatedCart') + defensive blockcart refresh fetch
- Loading spinner + success flash CSS
- Inline handler mirror w product.tpl z idempotency guard (window.__p02p02Bound)
— cache-buster dla browser cachowanego custom.js
Deferred do Plan 02-03 (customization + modal blocker dla production):
- Customization nie zapisuje się (squaremeter hook gate'owany discretion=on + brak dimension fields)
- Success modal (wymaga POST do /module/ps_shoppingcart/ajax)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.0 KiB
2026-04-23
Co zrobiono
-
[Phase 01 / Plan 01] Naprawa wariantu kolorystycznego w nowym layoucie strony produktu (IP-gated
REMOTE_ADDR == '89.69.31.86') -
Task 1: wrapper markup w
product.tpl—<div class="product-variants-data--new">+<form id="add-to-cart-or-refresh">(token/id_product/id_customization) +<div class="product-variants-grid"> -
Task 2: styling SCSS pod scope
body#product .product-variants-data--newwg Figma 27:9867 (grid 3×1 / 2×1 <768 px, Inter 14/25 #8c8c8c left, active outline #7d6e4f) -
Task 3: delegowany click+change handler w
custom.js— własny AJAXaction=refresh+ in-place DOM update (pushState + replace.product-prices,.product_image_wrapper+ emitupdatedProduct) -
Scope addition (uzgodniony): form
add-to-cart-or-refreshw nowym layoucie — bez niej PS nie mógł AJAX-ować wariantu -
Bootstrap PAUL w projekcie: PROJECT.md, ROADMAP.md, STATE.md, phase dir
-
Feedback memory: edytuj tylko
custom.scss, niecustom.css(user ma lokalny watcher) -
Deferred do Phase 02+: add-to-cart w nowym layoucie, konfigurator „piece", puste bloki rozmiar/odbicie/montaż/próbka/zabezpiecz
-
[Phase 02 / Plan 01] Port konfiguratora „piece" (wybór fragmentu tapety + mirror) do nowego layoutu — popup trigger + fancybox zgodnie z Figma, 8 hidden inputów (
is_crop,is_reflection,crop_pos_x/y,crop_width/height,piece_bg_top/left) w formie#add-to-cart-or-refresh -
Task 1: markup w gałęzi
== '89.69.31.86'— hidden inputs w formie,.piece-summaryanchor w.product-size-data, mirror button, hidden state (checkbox/width/height/position divs) -
Task 2: custom.js defensive setup — setTimeout(600) init z override
totalpriceinfospecific/prodna no-op + wstrzyknięcie DOM stubs (#totalpriceinfo,#custom-wallpaper-price*,#quantity_wanted*),prestashop.on('updatedProduct')re-bind dragElement po variant AJAX, defensive.pp_stick_parentguard w fancybox handler -
Task 3: CSS scoped pod
.product-size-data .product-size-data--new(flex layout,.piece-summarytrigger, mirror button hover) -
5 ukrytych problemów wykrytych w live Playwright debug: duplikat
#piece(reuse z shared partial), CSS:has()edge case, ready queue fighting, inline-script crash (module hook), brakujący.pp_stick_parent -
User feedback w trakcie checkpoint: piece nie auto-init'uje się na load — pojawia się dopiero po kliknięciu trigger'a popupu
-
Deferred do re-verify: AC-4 (AJAX variant re-init), AC-5 (stary layout regresja), mirror button end-to-end
Zmienione pliki
themes/ayon/templates/catalog/product.tplthemes/ayon/assets/css/custom.scssthemes/ayon/assets/js/custom.js.paul/PROJECT.md.paul/ROADMAP.md.paul/STATE.md.paul/phases/01-product-variants-fix/01-01-PLAN.md.paul/phases/01-product-variants-fix/01-01-SUMMARY.md.paul/phases/02-product-actions-fixes/02-01-PLAN.md.paul/phases/02-product-actions-fixes/02-01-SUMMARY.md.claude/memory/MEMORY.md.claude/memory/feedback_scss_only.md