# 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) ```php // 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) ```php // 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) ```php // 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) ```php // 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:** ```php // 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:** ```php // 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):** 1. Hook-System (Basis für alle Module) 2. Module-Base-Class (Grundlage für Module) 3. Module-Installation/Deinstallation ### **HOCH (nächste Woche):** 1. Override-System 2. Context-System 3. Service-Container ### **MITTEL (später):** 1. Module-Admin-Interface 2. Module-Dependencies 3. Performance-Optimierung --- ## Nächste Schritte 1. **Hook-System implementieren** (Sofort) 2. **Module-Base-Class erstellen** (Sofort) 3. **Einfaches Test-Modul entwickeln** (Validierung) 4. **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