feat(04-cookie-notice-bugfix): fix CookieNoticePro injectScripts error
Phase 4 complete: - remove undefined injectScripts calls from CookieNoticePro - preserve Consent Mode v2 and GTM integration - add PAUL plan, summary, and changelog
This commit is contained in:
@@ -1,15 +1,19 @@
|
||||
# Roadmap: bilety.brzezovka.pl
|
||||
|
||||
## Overview
|
||||
W najblizszej iteracji skupiamy sie na uzupelnieniu warstwy analitycznej po zakupie biletow, tak aby tracking ecommerce byl kompletny i wiarygodny, oraz na zgodnosci z RODO poprzez wdrozenie banera zgody na cookies.
|
||||
Projekt obejmuje sprzedaz biletow online, tracking ecommerce oraz zgodnosc cookies/RODO. Ostatnia iteracja to hotfix banera cookies po wykryciu bledu JavaScript w CookieNoticePro.
|
||||
|
||||
## Current Milestone
|
||||
**v0.2 Analytics & Privacy** (v0.2.0)
|
||||
Status: Complete (2026-04-26)
|
||||
Phases: 3 of 3 complete
|
||||
**v0.3 Cookie Notice Hotfix** (v0.3.0)
|
||||
Status: Complete (2026-05-08)
|
||||
Phases: 1 of 1 complete
|
||||
|
||||
## Previous Milestones
|
||||
|
||||
### v0.2 Analytics & Privacy
|
||||
Status: Complete (2026-04-26)
|
||||
Phases: 3 of 3 complete
|
||||
|
||||
### v0.1 Initial Release
|
||||
Status: Complete (2026-04-19)
|
||||
Phases: 1 of 1 complete
|
||||
@@ -21,10 +25,11 @@ Phases: 1 of 1 complete
|
||||
| 1 | Purchase Data Layer | 1 | Complete | 2026-04-19 |
|
||||
| 2 | Purchase Event Pre-Payment | 1 | Complete | 2026-04-26 |
|
||||
| 3 | Cookie Consent Banner | 1 | Complete | 2026-04-26 |
|
||||
| 4 | Cookie Notice Bugfix | 1 | Complete | 2026-05-08 |
|
||||
|
||||
## Phase Details
|
||||
|
||||
### Phase 1: Purchase Data Layer (v0.1 — Complete)
|
||||
### Phase 1: Purchase Data Layer (v0.1 - Complete)
|
||||
|
||||
**Goal:** Dodac event purchase do data layer po finalizacji zakupu biletow z kompletnym payloadem.
|
||||
**Depends on:** Nothing (first phase)
|
||||
@@ -34,49 +39,68 @@ Phases: 1 of 1 complete
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: Purchase Event Pre-Payment
|
||||
### Phase 2: Purchase Event Pre-Payment (Complete)
|
||||
|
||||
**Goal:** Przenieść event purchase do momentu przekierowania na bramkę płatniczą (po złożeniu zamówienia, przed płatnością Przelewy24).
|
||||
**Goal:** Przeniesc event purchase do momentu przekierowania na bramke platnicza po zlozeniu zamowienia, przed platnoscia Przelewy24.
|
||||
**Depends on:** Phase 1 (purchase payload builder already implemented)
|
||||
**Research:** Not needed (flow is clear from existing code)
|
||||
**Research:** Not needed
|
||||
|
||||
**Context:**
|
||||
- GTM (GTM-TW9WCD9J) jest już wdrożony w layout-logged.php
|
||||
- Aktualnie event purchase fires na order-confirm (po płatności)
|
||||
- Cel: przenieść event na przelewy24 (po złożeniu zamówienia w DB, przed redirect do P24)
|
||||
- Uwaga: strona przelewy24.php auto-submits formularz — GTM/GA4 używa beacon transport (navigator.sendBeacon), więc event powinien dotrzeć przed nawigacją
|
||||
- GTM (GTM-TW9WCD9J) jest wdrozony w `templates/site/layout-logged.php`.
|
||||
- Event purchase zostal przeniesiony na strone `przelewy24`.
|
||||
- Strona `przelewy24.php` auto-submits formularz, wiec tracking korzysta z beacon transport.
|
||||
|
||||
**Scope:**
|
||||
- Wywołanie buildPurchaseDataLayer() w metodzie przelewy24() kontrolera
|
||||
- Dodanie dataLayer push do templates/tickets/przelewy24.php
|
||||
- Usunięcie purchase push z templates/tickets/order-confirm.php
|
||||
- Wywolanie `buildPurchaseDataLayer()` w metodzie `przelewy24()` kontrolera.
|
||||
- Dodanie dataLayer push do `templates/tickets/przelewy24.php`.
|
||||
- Usuniecie purchase push z `templates/tickets/order-confirm.php`.
|
||||
|
||||
**Plans:**
|
||||
- [ ] 02-01: Przeniesienie eventu purchase na stronę przelewy24
|
||||
- [x] 02-01: Przeniesienie eventu purchase na strone przelewy24 (UNIFY complete)
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: Cookie Consent Banner
|
||||
### Phase 3: Cookie Consent Banner (Complete)
|
||||
|
||||
**Goal:** Wdrożyć baner zgody na cookies (CookieNoticePro) z Google Consent Mode v2 i naprawić błąd analityki w bibliotece.
|
||||
**Depends on:** Phase 2 (niezależna, ale logicznie po Phase 2 dla spójności analitycznej)
|
||||
**Research:** Not needed (biblioteka dostępna w pomysloweprezenty.pl/libraries/CookieNoticePro/)
|
||||
**Goal:** Wdrozyc baner zgody na cookies (CookieNoticePro) z Google Consent Mode v2 i naprawic blad analityki w bibliotece.
|
||||
**Depends on:** Phase 2
|
||||
**Research:** Not needed
|
||||
|
||||
**Context:**
|
||||
- Biblioteka: c:\visual studio code\projekty\pomysloweprezenty.pl\libraries\CookieNoticePro\
|
||||
- Bug do naprawienia: w cookienoticepro.script.js ~linia 351, gdy analytics NIE jest zaakceptowane, kod wywołuje gtag('consent','update',{'analytics_storage':'granted'}) zamiast 'denied'
|
||||
- Inicjalizacja Consent Mode v2 musi być PRZED snippetem GTM w <head>
|
||||
- Tylko layout-logged.php jest używany (layout-unlogged.php nie jest renderowany)
|
||||
- Biblioteka: `libraries/CookieNoticePro/`.
|
||||
- Consent Mode v2 musi byc przed snippetem GTM w `<head>`.
|
||||
- Tylko `templates/site/layout-logged.php` jest uzywany przez glowne widoki.
|
||||
|
||||
**Scope:**
|
||||
- Kopiowanie plików CookieNoticePro do libraries/CookieNoticePro/
|
||||
- Naprawa błędu analytics_storage w cookienoticepro.script.js
|
||||
- Dodanie consent mode v2 default init przed GTM w layout-logged.php
|
||||
- Integracja CSS/JS banera + inicjalizacja w layout-logged.php
|
||||
- Pliki CookieNoticePro w `libraries/CookieNoticePro/`.
|
||||
- Naprawa `analytics_storage: denied` przy braku zgody analytics.
|
||||
- Consent Mode v2 default przed GTM w `layout-logged.php`.
|
||||
- Integracja CSS/JS banera + inicjalizacja `cookieNoticePro.init()`.
|
||||
|
||||
**Plans:**
|
||||
- [ ] 03-01: Integracja CookieNoticePro + Consent Mode v2
|
||||
- [x] 03-01: Integracja CookieNoticePro + Consent Mode v2 (UNIFY complete)
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: Cookie Notice Bugfix (Complete)
|
||||
|
||||
**Goal:** Naprawic blad JavaScript `Uncaught ReferenceError: injectScripts is not defined` w CookieNoticePro.
|
||||
**Depends on:** Phase 3 (CookieNoticePro already integrated)
|
||||
**Research:** Not needed (root cause is visible in local source)
|
||||
|
||||
**Context:**
|
||||
- `libraries/CookieNoticePro/cookienoticepro.script.js` wywolywal `injectScripts()` w dwoch miejscach.
|
||||
- Funkcja `injectScripts` nie istnieje w tej kopii biblioteki.
|
||||
- Blad wystepowal po kliknieciu akceptacji cookies oraz mogl wystapic przy inicjalizacji z zapisanymi zgodami.
|
||||
|
||||
**Scope:**
|
||||
- Usuniecie wywolan `injectScripts()`.
|
||||
- Zachowanie `cookieNoticePro.init()` w `templates/site/layout-logged.php`.
|
||||
- Zachowanie Google Consent Mode v2 i GTM bez zmian.
|
||||
|
||||
**Plans:**
|
||||
- [x] 04-01: Naprawa undefined `injectScripts` w CookieNoticePro (UNIFY complete)
|
||||
|
||||
---
|
||||
*Roadmap created: 2026-04-19*
|
||||
*Last updated: 2026-04-26 — Added v0.2 milestone (Phase 2 + Phase 3)*
|
||||
*Last updated: 2026-05-08 - v0.3 Cookie Notice Hotfix complete*
|
||||
|
||||
Reference in New Issue
Block a user