Magento Blog: Anleitungen und Praxiswissen | Seite 155 | mironsoft
Magento Blog
-
18.10.2025
Wer in Hyvä-Themes ein eigenes Kontakt-, Anfrage- oder Newsletter-Formular baut, vergisst regelmäßig ein einziges, unscheinbares Hidden-Field und wundert sich anschließend über Fehlermeldungen, die wie ein Bug aussehen. Dieser Artikel zeigt, wie der Form-Key CSRF-Schutz in Magento technisch funktioniert und wie er sauber in phtml-Templates, AJAX-Requests mit Alpine.js, eigenen Controllern und im Zusammenspiel mit dem Full Page Cache eingebunden wird, mit echten Codebeispielen aus Magento 2.4.8-p4 und PHP 8.4.
-
18.10.2025
Ein einzelnes Modal mit Teleport zu bauen ist in Vue eine gut dokumentierte Aufgabe. Schwieriger wird es, sobald ein zweites Modal über dem ersten geöffnet wird, etwa ein Bestätigungsdialog, der vor dem Verlassen eines Formulars warnt. Dann müssen z-index-Werte, Fokus-Management, die Escape-Taste und der Scroll-Lock des body-Elements so koordiniert werden, dass sich die Modals nicht gegenseitig stören.
-
18.10.2025
Ein Mengenrabatt, der auf den ersten Blick verständlich ist, und ein Sale-Countdown, der nicht durch eine falsch gestellte Client-Uhr ausgehebelt wird, klingen nach Kleinigkeiten. In der Praxis entscheiden genau diese Details darüber, ob Kunden einer Preisangabe vertrauen oder sie als Trick abtun.
-
18.10.2025
Ein neues Produktattribut landet nicht automatisch dort im Elasticsearch-Index, wo es fuer Suche und Filter gebraucht wird. Erst ein durchdachtes Custom-Attribute-Mapping mit eigenen FieldMapper-Klassen sorgt dafuer, dass searchable, filterable und der richtige Feldtyp zusammenpassen, statt sich auf Magentos Standardableitung zu verlassen.
-
18.10.2025
Ein PHP-Attribut ist nur Metadaten, solange niemand es ausliest. Erst ReflectionAttribute macht Attribute zur Laufzeit nutzbar, indem es Argumente extrahiert, echte Instanzen erzeugt und nach Typ filtert. Wer versteht, wie ReflectionAttribute mit getArguments(), newInstance() und Repeatable Attributes umgeht, kann Validierungs-, Routing- und Serialisierungssysteme bauen, die komplett ohne externe Konfigurationsdateien auskommen.
-
18.10.2025
jq macht JSON in der Shell erstklassig handhabbar. Wer Filter, select(), map(), has() und type-Checks beherrscht, Variablen sicher mit --arg übergibt und Fehler mit try-catch behandelt, verarbeitet API-Antworten, Konfigurationsdateien und Log-Daten direkt in Bash – ohne Umweg über Python oder Node.
-
18.10.2025
Multi Source Inventory löst ein echtes Problem in Magento 2, ist aber im Alltag oft missverstanden. Wer Quellen, Stocks und Reservierungen durcheinanderbringt, baut schnell Lagerlogik, die fachlich falsch oder operativ instabil wird.
-
17.10.2025
Alpine.js Hydration Mismatches entstehen, wenn der State eines x-data Objekts beim ersten Rendern nicht zu dem passt, was der Server bereits als HTML ausgeliefert hat. Anders als bei React oder Vue gibt es keinen Virtual DOM Abgleich, der den Unterschied automatisch protokolliert. Der Fehler zeigt sich stattdessen als sichtbares Flackern, falsche Formularwerte oder Inhalte, die kurz aufblitzen und dann wieder verschwinden.
-
17.10.2025
Eine User-Entity, die bei der Registrierung ein Passwort mit Mindestlänge verlangt, beim späteren Profil-Update aber ein leeres Passwortfeld einfach ignorieren soll, stellt viele Teams vor dieselbe Frage: Braucht es zwei getrennte Entity-Klassen, oder reicht ein Satz Constraints mit etwas Zusatzlogik. Symfonys Validator-Component beantwortet das mit Validation Groups und Group Sequences, zwei Mechanismen, die dieselbe Klasse je nach Kontext unterschiedlich validieren, ohne dass Code dupliziert oder Validierungslogik in verstreute if-Abfragen ausgelagert werden muss. Dieser Artikel zeigt beide Werkzeuge an einem durchgängigen Registrierungs- und Profil-Update-Beispiel.
-
17.10.2025
declare ist in Bash weit mehr als eine sichtbare Deklaration. Jedes Flag, ob Integer-Erzwingung, Export, assoziatives Array, Namensreferenz oder Readonly, verändert das tatsächliche Verhalten einer Variable bei jeder Zuweisung, mit Fallstricken, die sich erst im echten Skriptlauf zeigen.