9.5 KiB
9.5 KiB
Phase 2 Entwicklungsplan: Nachbau aller fehlenden PrestaShop-Features + Modul-Kompatibilität
Ziel
Alle wesentlichen Funktionen von PrestaShop werden nachgebaut UND das System wird PrestaShop-Module und Addons ohne Änderungen nutzen können. Dazu wird das komplette PrestaShop-Modul-System implementiert.
Übersicht & Zeitrahmen
- Gesamtdauer: 8-10 Wochen (inkl. PrestaShop-Kompatibilität)
- Sprint-Länge: 1 Woche
- Start: [TT.MM.JJJJ]
- Ende (geplant): [TT.MM.JJJJ]
Aufgabenliste & Prioritäten
| Nr. | Feature/Modul | Beschreibung | Priorität | Zeitrahmen | Status |
|---|---|---|---|---|---|
| 1 | Hook-System | PrestaShop Hook-System für Module-Kompatibilität | KRITISCH | 1 Woche | ⬜ offen |
| 2 | Module-Base-System | Module-Base-Class, Installation/Deinstallation | KRITISCH | 1 Woche | ⬜ offen |
| 3 | Override-System | Class/Template/Controller Overrides | HOCH | 1 Woche | ⬜ offen |
| 4 | Context-System | PrestaShop Context-API nachbauen | HOCH | 1 Woche | ⬜ offen |
| 5 | Produktvarianten | Attribute, Kombinationen, Lager pro Variante | HOCH | 1 Woche | ⬜ offen |
| 6 | Produktbewertungen | Kundenbewertungen, Moderation, Sterne, hilfreich | HOCH | 1 Woche | ⬜ offen |
| 7 | Gutschein-/Rabatt-System | Gutscheine, Warenkorbregeln, Rabatte | HOCH | 1 Woche | ⬜ offen |
| 8 | Kundenkonto-Features | Adressverwaltung, Bestellhistorie, Rücksendungen | HOCH | 1 Woche | ⬜ offen |
| 9 | Versandmethoden & Tracking | Versandarten, Kosten, Tracking, Versandstatus | HOCH | 1 Woche | ⬜ offen |
| 10 | Produktvergleich | Vergleichsliste, UI, Session-Handling | MITTEL | 0,5 Woche | ⬜ offen |
| 11 | Cross-Selling & Zubehör | Verwandte Produkte, Zubehör, Upselling | MITTEL | 0,5 Woche | ⬜ offen |
| 12 | Wunschliste | Kundenwunschlisten, Verwaltung, Teilen | MITTEL | 0,5 Woche | ⬜ offen |
| 13 | Lagerverwaltung | Bestandsführung, Warnungen, Lieferanten | MITTEL | 0,5 Woche | ⬜ offen |
| 14 | Berichte & Statistiken | Umsatz, Topseller, Kunden, Export | MITTEL | 0,5 Woche | ⬜ offen |
| 15 | Import/Export | CSV/XML Import/Export für Produkte, Kunden, Bestellungen | MITTEL | 0,5 Woche | ⬜ offen |
| 16 | Benutzerverwaltung | Admin-Rollen, Rechte, Logins, Audit-Log | HOCH | 1 Woche | ⬜ offen |
| 17 | E-Mail-Marketing | Automatisierte Mails, Kampagnen, Vorlagen | MITTEL | 0,5 Woche | ⬜ offen |
| 18 | Mehrsprachigkeit (i18n) | Übersetzungen, Sprachumschaltung, Fallbacks | HOCH | 1 Woche | ⬜ offen |
| 19 | Template-/Theme-System | Theme-Engine, Child-Themes, Template-Overrides | HOCH | 1 Woche | ⬜ offen |
| 20 | Performance-Optimierung | Caching, Minifizierung, Bildoptimierung | MITTEL | 0,5 Woche | ⬜ offen |
| 21 | Rechtliches & DSGVO | Cookie-Consent, Datenschutz, AGB, Widerruf | HOCH | 0,5 Woche | ⬜ offen |
| 22 | Social Media Integration | Teilen, Login, Pixel, OpenGraph | NIEDRIG | 0,5 Woche | ⬜ offen |
| 23 | Affiliate-/Partner-System | Tracking, Provisionen, Auswertungen | NIEDRIG | 0,5 Woche | ⬜ offen |
| 24 | PrestaShop-Module-Tests | Test mit echten PrestaShop-Modulen | HOCH | 1 Woche | ⬜ offen |
PrestaShop Modul-System Komponenten
1. Hook-System (Priorität: KRITISCH)
// PrestaShop Hook-Beispiele
Hook::exec('actionProductUpdate', ['id_product' => $id]);
Hook::exec('displayProductAdditionalInfo', ['product' => $product]);
Hook::exec('actionCartUpdateQuantityBefore', ['id_product' => $id, 'quantity' => $qty]);
Zu implementieren:
- ✅ Hook-Registry
- ✅ Hook-Execution
- ✅ Module-Hook-Registration
- ✅ Hook-Parameter-Handling
2. Module-System (Priorität: KRITISCH)
// PrestaShop Module-Struktur
class MyModule extends Module
{
public function __construct()
{
$this->name = 'mymodule';
$this->tab = 'front_office_features';
$this->version = '1.0.0';
$this->author = 'Your Name';
$this->need_instance = 0;
}
public function install()
{
return parent::install() &&
$this->registerHook('displayProductAdditionalInfo');
}
}
Zu implementieren:
- ✅ Module-Base-Class
- ✅ Module-Installation/Deinstallation
- ✅ Module-Konfiguration
- ✅ Module-Admin-Interface
3. Override-System (Priorität: HOCH)
// PrestaShop Override-Beispiele
// classes/Product.php -> modules/mymodule/override/classes/Product.php
// controllers/front/ProductController.php -> modules/mymodule/override/controllers/front/ProductController.php
Zu implementieren:
- ✅ Class-Override-Detection
- ✅ Template-Override-System
- ✅ Controller-Override-System
- ✅ Override-Priority-System
4. Module-API & Services (Priorität: HOCH)
// PrestaShop Service-Beispiele
$this->context->shop
$this->context->language
$this->context->currency
Module::getInstanceByName('mymodule')
Zu implementieren:
- ✅ Context-System
- ✅ Service-Container
- ✅ Module-Discovery
- ✅ Module-Dependencies
Fortschrittstracker
- ⬜ offen | 🟡 in Arbeit | ✅ erledigt
Sprint-Planung
Sprint 1 (Woche 1): PrestaShop-Kompatibilität Basis
- Hook-System (KRITISCH)
- Module-Base-Class (KRITISCH)
- Module-Installation/Deinstallation
Sprint 2 (Woche 2): PrestaShop-Kompatibilität Erweitert
- Override-System
- Context-System
- Service-Container
Sprint 3 (Woche 3): Core-E-Commerce Features
- Produktvarianten
- Produktbewertungen
- Gutschein-/Rabatt-System
Sprint 4 (Woche 4): Kunden- & Versand-Features
- Kundenkonto-Features
- Versandmethoden & Tracking
- Benutzerverwaltung
Sprint 5 (Woche 5): Marketing & UX Features
- Cross-Selling & Zubehör
- Produktvergleich
- Wunschliste
- E-Mail-Marketing
Sprint 6 (Woche 6): System-Features
- Lagerverwaltung
- Berichte & Statistiken
- Import/Export
Sprint 7 (Woche 7): Internationalisierung & Performance
- Mehrsprachigkeit (i18n)
- Template-/Theme-System
- Performance-Optimierung
Sprint 8 (Woche 8): Rechtliches & Tests
- Rechtliches & DSGVO
- Social Media Integration
- Affiliate-/Partner-System
- PrestaShop-Module-Tests
Bekannte PrestaShop-Module zum Testen
Einfache Module:
- blockreassurance (Hooks: displayProductAdditionalInfo)
- ps_mainmenu (Hooks: displayTop, displayNav)
- ps_shoppingcart (Hooks: displayTop, displayNav)
Komplexe Module:
- ps_checkout (Viele Hooks, Overrides)
- ps_facebook (API-Integration)
- ps_cashondelivery (Payment-Module)
Technische Details
Hook-System Struktur:
// Zu implementieren in app/Core/Hook.php
class Hook
{
private static $hooks = [];
public static function register($hookName, $moduleName, $callback)
{
self::$hooks[$hookName][] = [
'module' => $moduleName,
'callback' => $callback
];
}
public static function exec($hookName, $params = [])
{
$results = [];
if (isset(self::$hooks[$hookName])) {
foreach (self::$hooks[$hookName] as $hook) {
$results[] = call_user_func($hook['callback'], $params);
}
}
return $results;
}
}
Module-Base-Class:
// Zu implementieren in app/Core/Module.php
abstract class Module
{
public $name;
public $tab;
public $version;
public $author;
public $need_instance;
abstract public function install();
abstract public function uninstall();
public function registerHook($hookName)
{
// Hook-Registration
}
public function unregisterHook($hookName)
{
// Hook-Unregistration
}
}
Prioritäten für sofortige Implementierung
KRITISCH (sofort):
- Hook-System (Basis für alle Module)
- Module-Base-Class (Grundlage für Module)
- Module-Installation/Deinstallation
HOCH (nächste Woche):
- Override-System
- Context-System
- Service-Container
MITTEL (später):
- Module-Admin-Interface
- Module-Dependencies
- Performance-Optimierung
Nächste Schritte
- Hook-System implementieren (Sofort)
- Module-Base-Class erstellen (Sofort)
- Einfaches Test-Modul entwickeln (Validierung)
- Bekannte PrestaShop-Module testen (Kompatibilität)
Hinweise
- Die Reihenfolge kann je nach Nutzerwunsch angepasst werden.
- Nach jedem Sprint erfolgt ein Review und ggf. ein Merge/Push zu Gitea.
- Feature-Requests können jederzeit ergänzt werden.
- PrestaShop-Kompatibilität hat höchste Priorität für Module-Nutzung.
Letzte Aktualisierung: [TT.MM.JJJJ] – Phase 2 Planung mit PrestaShop-Kompatibilität erstellt