Hyvä: Anleitungen und Praxiswissen | Seite 2 | mironsoft Blog
Hyvä
-
24.03.2026
Wer eine eigene Zahlungsmethode im Hyvä-Checkout registrieren will, kommt mit den klassischen Knockout-Renderer-Listen aus dem Luma-Checkout nicht weiter. Hyvä-Checkout löst Payment-Templates über Block-Aliase in Layout-XML auf, während die Formularlogik komplett mit Alpine.js, phtml-Templates und PHP-ViewModels abgebildet wird. Dieser Artikel zeigt den vollständigen Weg von Payment-Method-Model über Template-Registrierung, Alpine-Validierung und serverseitige Hooks bis zu PCI-Compliance-Fragen für Magento 2.4.8-p4.
-
23.03.2026
HTML-Minification und Block-Cache werden in der Praxis häufig als eine einzige Stellschraube behandelt, sind technisch aber vollständig unabhängig voneinander. Wir zeigen die Grenzen der Minification, TTL-Tuning jenseits der Grundlagen und wie zu granulare Cache-Keys den Cache in der Praxis unbrauchbar machen.
-
17.03.2026
Ein defekter Link muss keine Sackgasse sein. Mit GraphQL-basierten Suchvorschlägen verwandelt sich die 404-Seite im Hyvä-Theme von einer reinen Fehlermeldung in einen aktiven Rettungsanker für Besucher, die sonst kommentarlos abspringen würden.
-
14.03.2026
Ein Kunde, dessen Klick auf Warenkorb hinzufügen wegen eines fehlgeschlagenen Alpine-Ausdrucks ins Leere läuft, hinterlässt im Magento exception.log keinen einzigen Eintrag, weil der Fehler ausschließlich im Browser passiert. Dieser Artikel zeigt, wie sich JavaScript-Error-Tracking mit Sentry CSP-konform in ein Hyvä-Theme einbinden lässt, welche Fehlerquellen speziell bei fehlgeschlagener Alpine-Initialisierung entstehen, und wie sich diese Ebene sauber vom serverseitigen Logging abgrenzt.
-
11.03.2026
Ein Hyvä-Theme folgt einer eigenen Verzeichnisstruktur und Bauweise: registration.php und theme.xml deklarieren das Paket, web/tailwind/ bringt den einzigen echten Build-Schritt, und Alpine.js läuft direkt im Template, ohne Compile-Step. Wer die Hyvä-Theme-Architektur einmal verstanden hat, findet sich in jedem Hyvä-Projekt sofort zurecht.
-
08.03.2026
Die Wishlist-Funktionalität im Hyvä Theme ersetzt Magentos Luma-Widgets durch schlankes phtml und Alpine.js: ein Alpine.store hält die Produkt-IDs der Merkliste im Client, während fetch()-Aufrufe gegen den Magento_Wishlist-Controller mit form_key die Serverseite synchron halten. Dieser Artikel zeigt, wie das Herz-Icon sofort auf Klicks reagiert, wie optimistische Updates mit Rollback funktionieren und wie Gäste sauber zum Login geführt werden, ohne dass eine einzige Seite komplett neu lädt.
-
01.03.2026
Wer jede Interaktion als schnell hingeschriebenes x-data-Objekt im Template löst, baut über Monate ein unwartbares Geflecht aus Business-Logik und Markup auf. Eigene Alpine-Komponenten mit Alpine.data(), sauberer Namenskonvention, sicherer PHP-Datenübergabe und Alpine.store() für geteilten Zustand machen Hyvä-Frontends dagegen testbar, wiederverwendbar und CSP-konform - auch wenn ein zweites oder drittes Modul dieselbe Interaktion braucht.
-
22.02.2026
Wer ein eigenes Hyvä-Theme von Grund auf aufsetzt, statt das Hyvä Default Theme als Parent zu erben, gewinnt volle Kontrolle über jede Zeile Markup und Tailwind-Klasse, verzichtet aber auf Fallback-Templates, die sonst automatisch einspringen.
-
20.02.2026
Wer von Luma auf Hyvä migriert, stößt unweigerlich auf Knockout-basierte UI-Components: jsLayout-XML, ko-Templates und RequireJS-Module, die Magento seit Jahren für dynamische Storefront-Widgets nutzt. Dieser Guide zeigt, wie man bestehende UI-Components liest, ihre Logik versteht und sie systematisch durch native Hyvä-Templates mit Alpine.js ersetzt - inklusive Praxisbeispielen, Drittanbieter-Strategie und einer Rollout-Checkliste für große Shops.
-
15.02.2026
Wer die Kategorieseiten-Toolbar im Hyvä-Theme anpasst, arbeitet mit einem einzigen Block, einem einzigen Template und Alpine.js statt mit Knockout-Bindings und UI-Components-Grids. Diese Anleitung zeigt, wie Sortierfelder erweitert, ein View-Mode-Umschalter mit Persistenz gebaut und die Pagination der Hyvä-Kategorieseite ohne Bruch mit dem Full Page Cache angepasst werden.