CheckoutAddressDropdown 1.2.0 Help

Regressions-Register

Jeder behobene Fehler mit dem Test, der ihn festhält. Wer einen Eintrag löscht, nimmt die Absicherung mit.

REG-0021 — Die Schaltflächen im Kundenkonto erschienen nie

Symptom. Im Kundenkonto fehlten die beiden Schaltflächen »Rechnungsadresse ändern« und »Lieferadresse ändern«. Keine Fehlermeldung, keine leere Fläche — sie waren schlicht nicht da, über eine ganze ausgelieferte Fassung hinweg.

Ursache. Die Vorlage überschrieb page_account_overview_billing_address_actions_link und die Lieferadress-Entsprechung. Diese Blöcke gibt es in Shopware nicht — weder in 6.6 noch in 6.7. Twig meldet einen Block ohne Ziel nicht, es passiert einfach nichts. Angeboten wird …_actions_content, ein bewusst leerer Block innerhalb von …_actions.

Beim Beheben kam ein zweiter Fehler zum Vorschein: die Schaltflächen setzten addressId aus billingAddress.id bzw. shippingAddress.id. Diese Variablen gibt es in dem Gültigkeitsbereich ebenfalls nicht — Shopware liest die Adressen dort über context.customer. Die Kennung wäre also leer geblieben, selbst mit richtigen Blocknamen; der Adress-Editor hätte sich ohne Adresse geöffnet.

Fix. Beide Blöcke auf …_actions_content gezogen und die Kennung auf context.customer.defaultBillingAddress.id bzw. defaultShippingAddress.id, passend zum href, der es schon vorher richtig machte.

Der Test vergleicht jeden überschriebenen Blocknamen gegen die Vorlage, die das Plugin erweitert. Er findet den Kern über Reflexion auf die Storefront-Klasse und ist damit unabhängig vom Verzeichnislayout. Ein erfundener Name fällt künftig auf, statt still zu verschwinden — genau das war hier das Problem.

Test. src/Test/AccountTemplateBlocksTest.php

REG-0022 — Ein Klick daneben brach ab, ein Adresswechsel lud zweimal

Symptom. Zwei Beobachtungen im Auswahlmenü des Bestellabschlusses. Traf ein Klick den Rand eines Eintrags statt des Verweises, brach das Skript ab und der Ladebalken blieb stehen. Und bei einem Adresswechsel lud die Seite zweimal hintereinander.

Ursache. handleAddressChange nahm das Ergebnis von closest('a') und las dataset.id davon, ohne zu prüfen, ob überhaupt ein Verweis gefunden wurde. Und bei einer weitergeleiteten Antwort setzte es window.location.search — was für sich schon eine Navigation auslöst — und rief zusätzlich window.location.reload().

Fix. Ohne Verweis bricht der Handler ab, bevor er den Ladebalken überhaupt erzeugt. Und nach dem Setzen von search wird zurückgekehrt statt nachzuladen.

Test. src/Resources/app/storefront/test/HandleAddressChange.spec.ts

REG-0023 — Englische Brocken und eine tote Abhängigkeit

Symptom. Im Auswahlmenü standen »loading...« und ein Platzhalter »Filter...« hart englisch im Dokument, direkt neben ordentlich übersetztem Text. Und die composer.json verlangte shopware/administration, obwohl das Plugin überhaupt kein Administrations- Bündel mitbringt.

Fix. Beide Texte kommen aus Snippets und liegen auf Deutsch und Englisch vor. Die Abhängigkeit ist entfernt; wer das Plugin installiert, muss sie nicht mehr auflösen.

Der Test prüft beides mechanisch: die Vorlage darf die englischen Zeichenketten nicht mehr enthalten, beide Snippet-Dateien müssen die Schlüssel führen und nicht leer lassen — ein fehlender Schlüssel wird von Shopware still als roher Pfad ausgegeben.

Test. src/Test/StorefrontTextsAndDependenciesTest.php

Last modified: 12 August 2026