Eigene Templates überschreiben: Theme-Fallback-Konventionen
Eigene Templates überschreiben: Theme-Fallback-Konventionen
~6 Min. Lesezeit Zuletzt aktualisiert am 9. August 2026
Manchmal reicht ein eigenes Modul nicht - man will ein bestehendes Hyvä- oder Magento-Standard-Template gezielt anpassen, ohne den Kern zu verändern. Dafür nutzt Magento den Theme-Fallback-Mechanismus, der auch in Hyvä-Projekten unverändert gilt.
Wie der Fallback funktioniert
Magento sucht ein Template in dieser Reihenfolge, bis es fündig wird:
- im aktiven Theme, im passenden Modul-Unterordner (
app/design/frontend/Mironsoft/default/[Modul]/templates/...) - im Parent-Theme des aktiven Themes (also im Hyvä-CSP-Theme selbst)
- im Modul, das das Template ursprünglich definiert (
app/code/.../view/frontend/templates/...)
Wird ein Template im Child-Theme unter exakt demselben relativen Pfad wie im Modul oder Parent-Theme angelegt, gewinnt automatisch die Child-Theme-Version - ohne dass irgendwo explizit "überschreiben" konfiguriert werden muss.
Beispiel: den Mini-Cart anpassen
Angenommen, das Standard-Mini-Cart-Template aus Hyvä liegt (vereinfacht) unter Magento_Checkout/templates/cart/minicart.phtml im Parent-Theme. Um es anzupassen, wird exakt dieselbe relative Pfadstruktur im eigenen Child-Theme angelegt:
Template-Override im Child-Theme
app/design/frontend/Mironsoft/default/
└── Magento_Checkout/
└── templates/
└── cart/
└── minicart.phtml ← überschreibt die Hyvä-VersionDer Modul-Ordnername (Magento_Checkout) und der Pfad danach müssen exakt übereinstimmen - selbst ein kleiner Tippfehler führt dazu, dass Magento das Original-Template weiterverwendet, ohne einen Fehler zu melden.
Achtung: Ein überschriebenes Template friert den Stand des Original-Templates zum Zeitpunkt der Kopie ein. Wird das Hyvä-Parent-Theme später aktualisiert und das Original-Template ändert sich (neue CSP-Registrierung, Bugfix, neue Accessibility-Attribute), bleibt die eigene Kopie unverändert - man muss Updates am Original manuell nachziehen. Overrides deshalb sparsam einsetzen.
Alternative: referenceBlock statt vollständiger Kopie
Nicht jede Anpassung braucht eine komplette Template-Kopie. Wenn nur ein Argument geändert oder ein Block entfernt werden soll, reicht oft ein <referenceBlock> im Layout-XML (siehe Kapitel 6) - ohne dass die eigentliche PHP-Template-Datei angefasst werden muss. Das ist die wartungsärmere Lösung und sollte bevorzugt werden, wo möglich.
Tipp: Faustregel: erst prüfen, ob Layout-XML (Argumente ändern, Blocks verschieben/entfernen) das gewünschte Ergebnis liefert. Erst wenn tatsächlich HTML-Struktur oder PHP-Logik im Template selbst geändert werden muss, lohnt sich eine vollständige Template-Kopie.