Przejdź do głównej zawartości

Rozwiązywanie problemów

Gdy scena zachowuje się dziwnie, przyczyna prawie zawsze leży w jednej z małego zbioru kategorii. Ta strona prowadzi przez nie z naciskiem na to, co sprawdzić, zanim założysz że coś jest popsute.

To najczęstsze zgłoszenie. Przejdź przez pipeline filtrów od zewnątrz do środka — filtry /p2lab-stage/resolve failują cicho (popup po prostu nie jest zwrócony), więc jedynym sposobem znalezienia winowajcy jest sprawdzenie każdej bramki.

Settings → Plugins → P2Lab Stage → Popup → Enable popups on storefront. Gdy off, żaden popup nie renderuje się na tym kanale sprzedaży. Per-kanał, więc sprawdź właściwy.

Na zakładce Overview sceny Active musi być on. Strona listy pokazuje stan aktywności jako kolumnę — potwierdź że jest zielona.

active_from i active_to są ewaluowane przeciwko czasowi serwera (UTC). Jeśli ustawisz je w lokalnej strefie czasowej, sprawdź, czy picker nie pokazuje lokalnego ale nie zapisuje złego UTC. Karta info overview strony szczegółów pokazuje skonfigurowane daty — przeczytaj co jest faktycznie zapisane.

Zakładka Targeting → Channels & customer groups → Sales channels — musi zawierać kanał, na którym testujesz, albo być pusty (= wszystkie kanały). Częsty błąd: scena utworzona na Channel A zostaje pusta podczas testów, potem merchant przypisuje ją do Channel B na produkcję, ale zapomina usunąć pusty constraint.

Ta sama karta. Jeśli grupy klientów odwiedzającego nie ma na liście (a lista nie jest pusta), scena jest odfiltrowana. Anonymous odwiedzający zwykle wpadają w “default” grupę klientów kanału sprzedaży — potwierdź, jaka to grupa.

Zakładka Targeting → Pages. Strict opt-in — puste page types AND puste URL patterns oznacza, że scena nie matchuje niczego. Jeśli ustawisz tylko jedną oś, scena odpala się tylko gdy ta jedna matchuje. Z obiema ustawionymi, operator Pages / URL match (OR / AND) decyduje o kombinacji.

Testuj konkretnie: jaki typ strony Shopware oblicza dla URL-a, który odwiedzasz? Nie zawsze oczywiste — /cart to cart, /checkout/cart też może być cart, ale /checkout/confirm to checkout. Sprawdź kontener danych w stopce ([data-p2lab-stage-context]), żeby zobaczyć jaki page type storefront uważa.

Jeśli reguły są ustawione, kontekst odwiedzającego musi je spełnić zgodnie z operatorem reguł. Testuj najpierw z usuniętymi regułami — jeśli scena pokazuje się bez nich, wiesz którą oś debugować.

Otwórz DevTools → Application → Storage:

  • sessionStorage — wpisy z prefixem p2lab-stage- wskazują session-level suppression.
  • localStorage — wpisy z prefixem p2lab-stage- z wartością zawierającą timestamp expiry wskazują days/permanent suppression.

Wyczyść je i przeładuj. Jeśli popup teraz się pojawia, problem to suppression częstotliwości — albo odwiedzający widział go już, albo ktoś inny w tej samej przeglądarce.

Dla czystego testu użyj okna private/incognito albo innego profilu przeglądarki.

W trybie consent plugin nie zapisuje do sessionStorage / localStorage, dopóki nie odpali cookie acceptance. Stan dismiss żyje w sesji PHP, której nie widać w DevTools. Stuknij GET /p2lab-stage/dismissed bezpośrednio, żeby zobaczyć co serwer uważa za suppressed.

Jeśli wszystko matchuje, ale popup nadal się nie pokazuje:

  • immediate — powinien zamontować się przy załadowaniu strony. Sprawdź DevTools console pod kątem błędów JS.
  • delay — poczekaj co najmniej triggerValue sekund. Częsty błąd: testowanie 60-sekundowego delay i poddawanie się po 5.
  • scroll — zweryfikuj, że scrollowałeś poza triggerValue% strony. Na krótkich stronach może to być niemożliwe (100% strona jest krótsza niż viewport).

Decydujący check. Otwórz DevTools → Network, filtruj resolve, znajdź POST do /p2lab-stage/resolve. Tablica popups w response to ground truth: jeśli twojej sceny tam nie ma, któryś z filtrów (1–9) ją odrzucił.

Warstwy skaczą albo snapują zamiast animować się płynnie

Dział zatytułowany „Warstwy skaczą albo snapują zamiast animować się płynnie”

Prawdopodobna przyczyna: konfliktujące transformy na elemencie rodzicu. Mouse parallax dodaje transform: translate3d(...) rotate3d(...) do .p2lab-stage__layer-wrap. Jeśli rodzic (np. wrapper sceny) też jest transformowany przez keyframe’y osi czasu, kolejność komponowania ma znaczenie.

Fix: animuj liściową warstwę zamiast kontenera, albo wyłącz parallax na konfliktującej warstwie.

Prawdopodobna przyczyna: przełącznik Loop jest off na osi czasu. Kliknij Loop w nagłówku osi czasu. Dla scen, które mają cyklować niezależnie od root osi czasu, wiersz sceny ma osobny przełącznik Scene loops independently.

Animacja startuje, ale warstwa znika w połowie klatki

Dział zatytułowany „Animacja startuje, ale warstwa znika w połowie klatki”

Prawdopodobna przyczyna: keyframe opacity spada do 0 w którymś momencie. Sprawdź track opacity dla warstwy; upewnij się że żaden keyframe nie ustawia opacity na 0, gdy tego nie chcesz.

Prawdopodobna przyczyna: intensywność za duża + niskie wartości depth. Silnik snapuje do subpixel precision; bardzo małe wartości połączone z wysoką intensywnością mogą produkować widoczne drżenie na niektórych GPU.

Fix: zmniejsz intensywność (Stage Settings → Parallax), albo zwiększ wartości depth/tilt per warstwa.

Przejdź przez to:

  1. Odwiedzający nie używa urządzenia dotykowego (parallax jest wyłączony na coarse pointers).
  2. prefers-reduced-motion: reduce nie jest ustawione w OS preferences.
  3. Warstwa ma efekt Parallax włączony w Layer Style.
  4. Oba depth i tilt nie są oba 0.
  5. Stage intensity nie jest 0.

Style pluginu wyglądają źle na jednym motywie, dobrze na innym

Dział zatytułowany „Style pluginu wyglądają źle na jednym motywie, dobrze na innym”

Prawdopodobna przyczyna: motyw nadpisuje zmienne CSS, których oczekuje plugin. Otwórz DevTools → zbadaj .p2lab-stage__shell, spójrz na zakładkę Computed. Jeśli zmienne --p2lab-stage-shell-* pokazują wartości, których nie wybierałeś, motyw je nadpisuje.

Fix: scope override w motywie do nie-pluginowych selektorów, albo ustaw zmienne z powrotem na pożądane wartości wewnątrz .p2lab-stage.

Domyślnie plugin używa z-index: 9999. Jeśli motyw ma cokolwiek wyższego (niektóre headery używają z-index: 999999), popup zostanie ukryty za nim.

Fix: zbumpuj z-index pluginu w swoim motywie (--p2lab-stage-z), albo obniż z-index nagłówka gdy popup jest widoczny.

Przejdź przez to:

  1. Czy Track statistics jest on (zakładka Overview → karta Statistics)?
  2. Czy zakres dat jest poprawny? Domyślnie to skonfigurowane okno retencji — jeśli retencja jest 90 dni, ale chcesz spojrzeć na miesiąc 6, nie znajdziesz tego.
  3. Czy ktoś odwiedził storefront po aktywacji sceny? Statystyki pojawiają się dopiero po prawdziwych eventach impression.

CTA clicks odpalają tylko na warstwach button i warstwach z włączonym Click action. Plain text / image warstwy bez click action nie liczą się. Jeśli oczekiwałeś że będą, włącz click action na tych warstwach w Layer Style.