Hackorama er et lokalt udviklingsframework til Shoporama, der gør det muligt at udvikle og teste Shoporama temaer uden at skulle deploye til produktion.
✅ Funktionalitet implementeret!
- API integration virker og henter data fra Shoporama
- Wrapper klasser efterligner Shoporama's Safe* klasser
- Smarty 4 template engine integreret med Shoporama's custom delimiters (<{ }>)
- Alaska2 tema fungerer fuldt ud
- Global.html wrapper pattern implementeret korrekt
- Alle hovedsider virker: forside, produkter, kategorier, kurv, søgning
- Kurv funktionalitet implementeret (tilføj til kurv virker)
- Billede skalering implementeret korrekt
- Error reporting konfigureret til at suppresse warnings og deprecations
- Menu system implementeret fra Shoporama API
- Landing page support implementeret
- Voucher template fejl løst
- Komplet checkout flow implementeret (basket → address → shipping → payment)
- Produkt billeder i kurv virker korrekt
- Address side design og warnings fixed
- Blog funktionalitet implementeret
- User-edit side implementeret
- Search page warnings fixed
- Automatisk billede caching fra konfigurerbar kilde implementeret
- ProductCache system for at cache alle produkter fra API
- Landing pages viser nu rigtige produkter fra API i stedet for mock data
- Billede dimensioner og formater matcher produktionssite (300x400px box mode for landing pages, 500x500px fit mode for produktsider)
- Klon eller download Hackorama til din lokale maskine
- Rediger
setup.php
med din API-nøgle - Start den indbyggede PHP webserver:
./start-server.sh
# eller
php -S localhost:8080 router.php
- Åbn http://localhost:8080 i din browser
Rediger setup.php
for at konfigurere:
- API nøgle: Din Shoporama API nøgle
- Host: Vælg mellem
www.shoporama.dk
ellerlocalshoporama.dk
- Theme path: Sti til dit tema (default: Alaska2)
- Cache: Cache indstillinger
- Images source_url: URL til din produktionsside for billede download
hackorama/
├── src/
│ ├── API/ # API client til Shoporama REST API
│ ├── Core/ # Kerne funktionalitet (router, template, logger)
│ └── Wrappers/ # Safe wrapper klasser (SafeProduct, SafeCategory, etc.)
├── cache/ # Cache for API data, Smarty og billeder
├── themes/ # Temaer (Alaska2 inkluderet)
├── logs/ # Log filer
├── images.php # Billede proxy for automatisk caching
└── setup.php # Konfiguration
/debug.php
- Debug information og system status
Hackorama implementerer et avanceret billede caching system:
- Automatisk download: Billeder downloades automatisk fra den konfigurerede kilde når de ikke findes i cache
- Korrekte dimensioner: Matcher produktionssite præcist (300x400px box mode for landing pages, 500x500px fit mode for produktsider)
- Proxy system:
/images.php
håndterer automatisk download og caching - Cache TTL: Billeder caches permanent indtil manuelt slettet
- ProductCache: Cacher alle produkter fra API i JSON format
- Cache TTL: 1 time før refresh fra API
- Batch fetching: Henter produkter i batches af 100 for performance
- Real data: Landing pages viser nu rigtige produkter fra API i stedet for mock data
- Ordre visning delvist implementeret
Da Shoporama REST API ikke returnerer passwords, er Hackorama konfigureret til at acceptere passwordet "password" for alle kunder. Dette gør det muligt at teste kunde login funktionalitet.
Login eksempel:
- Email: [email protected]
- Password: password
Hackorama henter rabatkoder fra Shoporama API. Aktuelle rabatkoder:
- 10pct - 10% rabat
Tjek logs/hackorama.log
for fejl og debug information.
- Komplet ordre management implementering
- Forbedre payment integration
- Optimering af produktcache performance
- SafeProduct: Fuld funktionalitet med 150+ metoder implementeret
- SafeCategory: Grundlæggende metoder implementeret
- SafeImage: Billede skalering implementeret
- SafePage: Side visning
- SafeWebshop: Webshop data og indstillinger inkl. menu support
- SafeProductProfile: Produkt profiler
- SafePdfFile: PDF fil håndtering
- SafeCustomer: Kunde data og metoder
- SafeShipping: Forsendelsesmetoder
- SafeVoucher: Rabatkode håndtering
- SafeMenu: Menu data fra API
- SafeMenuItem: Menu items med URL generation
- SafeLandingPage: Landing page wrapper med rigtige produkter fra API
- SafeBlogPost: Blog post wrapper med metadata og indhold
- DefaultSafe: Base klasse for alle wrappers
- BasketManager: Cookie-baseret kurv med JSON storage og voucher support
- ProductCache: Avanceret cache system for alle produkter fra API
- ImageCache: Automatisk billede download og caching system