Weitere Versionsinformationen
Obwohl der Code für diese Funktionen mit vierteljährlichen Releases gebündelt ist, werden mehrere dieser Projekte (z. B. Progressiven Webs Application (PWA Studio)) ebenfalls unabhängig voneinander veröffentlicht. Fehlerbehebungen für diese Projekte werden in den separaten, projektspezifischen Versionsinformationen dokumentiert, die in der Dokumentation für jedes Projekt verfügbar sind.
Wenden Sie AC-3022.patch
an, um DHL weiterhin als Versandunternehmen anzubieten
DHL hat die Schemaversion 6.2 eingeführt und wird die Schemaversion 6.0 in naher Zukunft einstellen. Adobe Commerce 2.4.4 und frühere Versionen, die die DHL-Integration unterstützen, unterstützen nur Version 6.0. Händler, die diese Versionen bereitstellen, sollten AC-3022.patch
so bald wie möglich beantragen, DHL weiterhin als Reederei anzubieten. Informationen Herunterladen und Installieren des Patches finden Sie im Knowledgebase-ArtikelApply a patch to continue offer DHL as shipping carrier) .
Wenden Sie den MC-43048__set_rate_limits__2.4.3.patch an, um das Problem mit der API-Ratenbegrenzung zu beheben
Dieser Hotfix bietet eine Lösung für das Problem, dass Web-APIs keine Anfragen verarbeiten können, die mehr als 20 Elemente in einem Array enthalten. Dieses Problem betrifft Bereitstellungen mit Magento Open Source 2.4.3, Adobe Commerce 2.4.3 oder 2.3.7-p1. Diesen Versionen wurde eine integrierte Ratenbegrenzung hinzugefügt, um DoS-Angriffe (Denial-of-Service) zu verhindern. Der standardmäßige Maximalwert wurde auf 20 festgelegt. Dieser Patch setzt die Standardbegrenzung auf einen höheren Wert zurück. Wenn Sie vermuten, dass Ihr Store einen DoS-Angriff erlebt, empfiehlt Adobe, die standardmäßigen Eingabebeschränkungen auf einen niedrigeren Wert zu senken, um die Anzahl der Ressourcen zu beschränken, die angefordert werden können. Siehe den Web-API kann Anfragen mit mehr als 20 Elementen im Array nicht verarbeiten Knowledgebase-Artikel.
Wenden Sie AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch an, um einen schwerwiegenden PHP-Fehler beim Upgrade zu beheben
Beim Upgrade auf Magento Open Source 2.4.3 kann der folgende schwerwiegende Fehler auftreten:
PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74
Dieser Fehler resultiert aus der Verwendung der str_contains
-Funktion, die eine PHP 8.x-Funktion ist. Die Anwendung Open Source 2.4.3 unterstützt PHP 8.x nicht. Dieser Hotfix ersetzt diese Funktion durch eine unterstützte PHP 7.x-Funktion. Siehe den Artikel Adobe Commerce-Upgrade 2.4.3, 2.3.7-p1 PHP Fatal Error Hotfix Knowledge Base.
Highlights
Achten Sie auf die folgenden Highlights in dieser Version.
Wesentliche Sicherheitsverbesserungen
Diese Version umfasst 33 Sicherheitskorrekturen und Verbesserungen der Plattformsicherheit. Viele dieser Sicherheitskorrekturen wurden auf 2.4.2-p2 und 2.3.7-p1 rückportiert.
33 Sicherheitsverbesserungen, die die Schwachstellen bei Remote Code Execution (RCE) und Cross-Site Scripting (XSS) beheben
Bisher sind keine bestätigten Angriffe im Zusammenhang mit diesen Problemen aufgetreten. Bestimmte Schwachstellen können jedoch ausgenutzt werden, um auf Kundeninformationen zuzugreifen oder Administratorsitzungen zu übernehmen. Die meisten dieser Probleme erfordern, dass ein Angreifer zunächst Zugriff auf den Administrator erhält. Daher erinnern wir Sie daran, alle erforderlichen Schritte zu unternehmen, um Ihren Administrator zu schützen, einschließlich, aber nicht beschränkt auf diese Bemühungen: IP-Zulassungsauflistung, Zwei-Faktor-Authentifizierung, die Verwendung eines VPN, die Verwendung eines eindeutigen Standorts anstelle von /admin
und gute Passworthygiene. Unter Adobe-Sicherheitsbulletin finden Sie eine Erläuterung dieser behobenen Probleme.
Zusätzliche Sicherheitsverbesserungen
Die Sicherheitsverbesserungen für diese Version verbessern die Einhaltung der neuesten Best Practices für die Sicherheit, einschließlich:
-
Ein neues Composer-Plug verhindert Abhängigkeitsverwirrungen und identifiziert bösartige Pakete mit denselben Namen wie interne Pakete im öffentlichen Paket-Repository. Siehe den Blogpost von Adobe-Versionen Neues Composer-Plug-in mit Version 2.43.
-
Ratenbegrenzung ist jetzt in -APIs integriert um DoS-Angriffe (Denial-of-Service) zu verhindern. Web-APIs erlegen jetzt Einschränkungen hinsichtlich der Größe oder Anzahl der Ressourcen auf (der standardmäßige Maximalwert ist auf 20 festgelegt und kann je nach Geschäftsanforderungen auf einen anderen Wert konfiguriert werden), die von einem Client angefordert werden können. Informationen Konfigurieren dieserfinden Sie unter „Ratenbegrenzung“.
-
Die Abdeckung von ReCAPTCHA wurde erweitert um:
-
Web-APIs mit entsprechenden HTML-Seiten werden über ReCAPTCHA behandelt. (Dies schließt Web-APIs aus, auf die von Integrationen zugegriffen wird.) Die ReCAPTCHA-Abdeckung schützt Endpunkte vor Spam-Angriffen. Wenn auf Web-APIs durch einen Integrationsdienst eines Drittanbieters zugegriffen wird, der OAuth verwendet, ist ReCAPTCHA deaktiviert.
-
Die Seite „Bestellung aufgeben“ und zahlungsbezogene Web-APIs. Der reCAPTCHA-Schutz für diese Seiten ist standardmäßig deaktiviert und kann vom Administrator aktiviert werden. Diese Abdeckung fügt einen Anti-Brute-Force-Mechanismus hinzu, um Geschäfte vor Kardierangriffen zu schützen.
-
Verbesserungen der Infrastruktur
Diese Version enthält Verbesserungen, die die Qualität des Frameworks verbessern, sowie die folgenden Funktionsbereiche:
-
Kundenkonto
-
Katalog
-
CMS
-
OMS
-
Import/Export
-
Promotions und Targeting
-
Warenkorb und Checkout
-
B2B
-
Staging und Vorschau
PayPal Pay Later wird jetzt Bereitstellungen unterstützt, die PayPal enthalten. Mit dieser Funktion können Käufer eine Bestellung in zweiwöchentlichen Raten bezahlen, anstatt den vollen Betrag zum Zeitpunkt des Kaufs zu bezahlen.
Neuer use_application_lock
-Indizierungsmodus. Im use_application_lock
Modus können Sie die Neuindizierung aktivieren, indem Sie entweder Umgebungsvariablen verwenden oder die app/etc/env.php
konfigurieren. Bei aktiviertem Modus müssen Sie den Indexer nach einem Fehler nicht mehr manuell zurücksetzen. Siehe Verwenden des Anwendungssperrmodus für Neuindizierungsprozesse.
Plattformverbesserungen
Version 2.4.3 ist noch nicht mit PHP 8.x kompatibel, aber die folgenden Plattformupgrades bringen uns der zukünftigen Kompatibilität mit PHP 8.x näher.
-
Core Composer-Abhängigkeiten und Bibliotheken von Drittanbietern wurden auf die neuesten Versionen aktualisiert, die mit PHP 8.x kompatibel sind.
-
Die KnockoutJS-Bibliothek wurde auf Version 3.5.1 (die neueste Version) aktualisiert.
-
Die veraltete TinyMCE v3-Bibliothek wurde entfernt. Das
Magento_Tinymce3Banner
und die MFTF-Tests im Zusammenhang mit TinyMCE v3.x wurden aus Adobe Commerce entfernt. -
Magento Open Source 2.4.3 wurde getestet und als kompatibel mit Redis 6.0.12 bestätigt. (Version 2.4.x bleibt kompatibel mit Redis 5.x.)
-
Die Laminas-Bibliotheksabhängigkeiten wurden auf PHP 8.x-kompatible Versionen aktualisiert. Einige redundante Abhängigkeiten wurden aus der
composer.json
-Datei entfernt. Magento Open Source 2.4.3 verwendet Laminas 3.4.0.
Leistungsverbesserungen
Diese Version enthält Verbesserungen, die die Indexierungszeit für Produktpreis- und Katalogregel-Indexer verkürzen. Händler können jetzt eine Website aus einer Kundengruppe oder einem freigegebenen Katalog ausschließen, wodurch die Anzahl der Datensätze für die Indizierung reduziert und die Indizierungszeiten verkürzt werden.
Adobe Stock-Integration
Diese Version enthält Adobe Stock Integration v2.1.1.
GraphQL
Mit dieser Version wird die GraphQL-Abdeckung für freigegebene Routen hinzugefügt. Die Routenabfrage und RoutableInterface unterstützen Routing-Anfragen für Produkt-, Kategorie- und CMS-Seiten. Die urlResolver
Abfrage wird nicht mehr unterstützt, und ihre Funktionalität wurde durch die route
Abfrage ersetzt.
Weitere Informationen zu diesen Verbesserungen finden Sie 🔗 GraphQL-Entwicklerhandbuch.
Page Builder
Page Builder ist jetzt als gebündelte Erweiterung in Magento Open Source verfügbar. Es ist jetzt das standardmäßige Tool zur Inhaltsbearbeitung für Adobe Commerce 2.4.3 und Magento Open Source 2.4.3. Er kann den WYSIWG-Editor durch beliebige Drittanbietermodule ersetzen.
Page Builder ersetzt den TinyMCE-Editor in den folgenden Admin-Bereichen:
- CMS-Seite
- CMS-Block
- Kategoriebeschreibung
- Produktbeschreibung
Alle in TinyMCE erstellten Inhalte wurden als HTML in Page Builder migriert.
PWA Studio
Weitere Informationen zu Verbesserungen und Fehlerbehebungen finden Sie unter PWA Studio-Versionen. Unter Kompatibilität finden Sie eine Liste der PWA Studio-Versionen und der entsprechenden kompatiblen Versionen.
Upgrade-Kompatibilitätstool
Der Umfang des Upgrade-Kompatibilitätstools wurde auf der Grundlage von Feedback aus der Community erweitert. Schließen Sie sich unserem #upgrade-compatibility-tool Slack-Kanal an, um Unterstützung vom Adobe-Produktteam und der Community zu erhalten und um Unterstützung bei der zukünftigen Ausrichtung des Tools zu erhalten.
Vom Anbieter entwickelte Erweiterungen
In den folgenden Artikeln finden Sie Aktualisierungen zu Funktionen und Änderungen in dieser Version:
Behobene Probleme
Wir haben Hunderte von Problemen im Code 2.4.3 behoben.
Installation, Upgrade, Bereitstellung
- Der
bin/magento setup:db:status
-Befehl gibt jetzt eine Meldung zurück, die angibt, dass nach einem erfolgreichen Upgrade alles auf dem neuesten Stand ist. Zuvor hat die Anwendung diesen Fehler angezeigt:Declarative Schema is not up to date
.
- Konfigurationswerte werden jetzt beim erneuten Laden des Formulars beibehalten, wenn die Erstellung eines neuen konfigurierbaren Produkts fehlschlägt. Zuvor gingen beim Neuladen des Formulars Werte verloren, und die Anwendung zeigte diesen Fehler an:
The value specified in the URL Key field would generate a URL that already exists
. GitHub-32102
- Die Anwendung löst keine Ausnahme mehr aus, wenn Sie
bin/magento setup:upgrade
ausführen, um von einer Magento Open Source-Bereitstellung mit Redis auf Adobe Commerce zu aktualisieren.
- Bereitstellungen, die auf Galera-Clustern ausgeführt werden, unterstützen jetzt mehr Kunden. GitHub-31038
- Administratoren können sich jetzt erfolgreich bei einer -Bereitstellung anmelden, wenn die Anwendung entweder mit der Option
—use-rewrites=0
oder incore_config_data_table
mitweb/seo/use_rewrites
auf 0 installiert wurde. GitHub-32100
sortOrder
fürAsyncCssPlugin
aktualisiert. Die Anwendung lädt jetztAsyncCssPlugin
vor demJsFooterPlugin
. GitHub-30882
Magento\Config\Model\Config\PathValidator
prüft jetzt den Anzeigepfad , um festzustellen, ob ein Element vorhanden ist, und verwendet bei einem Konfigurationspfad denconfig.xml
Pfad stattdessen zur Validierung. GitHub-27678
- Das Kompilieren von Less-Dateien mit Grunt oder durch Server-seitige Kompilierung liefert nun dieselben Ergebnisse. Zuvor.
.abs- styles
, die andere.abs- styles
in_extends.less
erweitert, wurden beim Kompilieren mit Grunt nicht richtig ausgegeben. Dies führte zu Unterschieden zwischen Produktions- und Entwicklungsbereitstellungen. GitHub-7231
Adobe Stock-Integration
- Die Anwendung zeigt jetzt eine informative Nachricht und einen Link zur Seite Admin Stores > Configuration > Erweitert > System auf der Seite Suchen nach Adobe Stock an, wenn API-Schlüssel (Client-ID) und Client- nicht festgelegt sind. Zuvor hat die Anwendung diesen Fehler angezeigt:
We couldn't find any records
und kein Link.
Backend
- Admins mit eingeschränktem Zugriff (die beispielsweise nur Zugriff auf eine Website haben) können Kategorien, die auf den globalen Umfang festgelegt sind, nicht mehr bearbeiten.
- Der generierte Systembericht (System > Support > Systembericht) wird jetzt korrekt gerendert. Zuvor war der Berichtsinhalt falsch ausgerichtet.
- Die Anwendung deaktiviert jetzt die Validierung im Feld Preis wie erwartet, wenn die Einstellung Dynamischer Preis bei der Erstellung eines Bundles aktiviert wird. Zuvor gab es einen Validierungsfehler, als Sie einen Wert aus dem Feld Preis entfernten, als die Einstellung Dynamischer Preis aktiviert war. GitHub-26214
- Unendliche Weiterleitungen treten nicht mehr auf, wenn sich die Admin-URL in Bereitstellungen, in denen die Anwendung so konfiguriert ist, dass sie von zwei URLs aus zugänglich ist, von der Standard-Website-URL unterscheidet.
Produkte im Paket
- Sie können jetzt die
addProductsToCart
-Mutation verwenden, um einem Warenkorb ein Bundle-Produkt mit mehr als einer Kontrollkästchen-Option hinzuzufügen.
- Die Preisindizierung von Bundle-Produkten wird jetzt mithilfe temporärer Tabellen durchgeführt, wodurch das Sperren von Datenbanktabellen vermieden wird. Zuvor verwendete die Anwendung physische Tabellen, was zu gesperrten Tabellen führte.
- Der Preis eines Bundle-Artikels kann jetzt auf 0,00 festgelegt werden. Als Sie zuvor zur Bearbeitungsseite zurückkehrten, nachdem Sie den Preis auf 0,00 gesetzt hatten, wurde der Preis auf den Standardwert zurückgesetzt. GitHub-32383
- Bestelldetails für Bestellungen, die Paketprodukte enthalten, zeigen jetzt den korrekten Preis für die Paketprodukte an, wenn der Preis vor der Bestellung geändert wurde.
- Der Lagerstatus des Bundle-Produkts wird jetzt auf der Grundlage des Lagerstatus seiner untergeordneten Produkte aktualisiert. Zuvor wurden Bundle-Produkte als nicht vorrätig angezeigt, wenn eine Option aus dem Produkt entfernt wurde, und das Bundle-Produkt hatte zwei Optionen mit derselben SKU.
- Ein Administrator kann jetzt den Wert für das Attribut
Shipment Type
eines Bundle-Produkts ändern, nachdem es in eine andere Attributgruppe verschoben wurde. Zuvor wurde dieses Attribut immer mit einemTogether
Wert gespeichert, wenn es in eine andere Attributgruppe als die Standardgruppe im Attributsatz verschoben wurde.
- Die GraphQL-
setGuestEmailOnCart
-Mutation aktualisiert jetzt die Gast-E-Mail korrekt. Zuvor wurden die Angebotstabellen und die Angebotadressen-Tabellen nicht aktualisiert.
- Das Hinzufügen, Entfernen oder Aktualisieren eines untergeordneten Produkts zu einem Produktpaket über die REST-API ruft jetzt eine Neuindizierung durch den Trigger wie erwartet auf. Trigger Zuvor wurde bei diesen Aktionen keine Neuindizierung vorgenommen. Infolgedessen änderte das Bundle-Produkt seinen Lagerstatus erst nach der manuellen Neuindizierung.
- Die Anwendung zeigt jetzt die richtige Preisspanne für Bundle-Produkte mit Stufenpreisen an. GitHub-30284
- Die Anwendung zeigt jetzt den gleichen Gesamtpreis wie erwartet auf der Warenkorbseite und im Versandschritt des Checkout-Workflows an, nachdem sich der Preis einer Bundle-Option geändert hat.
- Sie können jetzt ein Produktpaket erfolgreich konfigurieren, indem Sie über einen Warenkorb eines Kunden darauf zugreifen. Zuvor wurde die Seite „Produkt konfigurieren“ nie vollständig geladen, und Sie konnten Ihre Einstellungen nicht speichern.
- Händler können jetzt für ein Produktpaket in jeder Shop-Ansicht einer Multi-Store-Bereitstellung einen eindeutigen Preis zuweisen. Website-spezifische Preise werden in der
catalog_product_bundle_selection_price
Tabelle gespeichert. Zuvor basierte der Preis eines Bundle-Produkts in der Anwendung nicht auf dem Website-Umfang, selbst wenn Stores > Configuration > Catalog > Catalog > Price > Catalog Price Scope aufWebsite
gesetzt war. Incatalog_product_bundle_selection_price
wurden keine webseitenspezifischen Preise gespeichert. GitHub-12584
- Rechnungen für Bundle-Produkte zeigen jetzt die richtige Menge für die zugehörigen einfachen Produkte an, wenn Dynamische Preisfindung deaktiviert ist. Zuvor hatten einfache Produkte, die mit dem Bundle-Produkt verknüpft waren, die Menge des übergeordneten Produkts (nicht das Bundle-Produkt). GitHub-30802
- Die
updateProductsInWishlist
-Mutation aktualisiert jetzt erfolgreich Elemente, die zu einem Bundle-Produkt in einer Wunschliste gehören. Zuvor löschte diese Mutation das Element, anstatt das Wunschlistenelement zu aktualisieren, und erstellte ein neues, wodurch die Element-ID geändert wurde.
Cache
- Die
varnish6.vcl
wurde aktualisiert, um das Zwischenspeichern der Kundenseite zu umgehen.
CAPTCHA
- CAPTCHA validiert jetzt die von einem Kunden bereitgestellten Daten korrekt, und CAPTCHA-Felder werden nun wie erwartet angezeigt, nachdem ein Kunde mehrmals erfolglos versucht hat, mit PayPal Payflow Pro einen Checkout durchzuführen.
- Die CAPTCHA-Validierung schlägt auf der Zahlungsseite des Checkout-Workflows nicht mehr zufällig fehl.
- Die Anwendung zeigt jetzt CAPTCHA-Felder wie erwartet an, nachdem die Anzahl der fehlgeschlagenen Abschlussversuche überschritten wurde. Zuvor hat die Anwendung zwar Sie aufgefordert, die CAPTCHA-Abfrage erneut zu versuchen, aber die CAPTCHA-Felder nicht angezeigt.
- CAPTCHA funktioniert jetzt auf der Kaufbestätigungsseite erwartungsgemäß. Nachdem ein Käufer eine CAPTCHA-Frage korrekt beantwortet hatte, wurde der Lader auf der Kaufbestätigungsseite noch nie abgeschlossen und die Anwendung zeigte diesen Fehler an:
captchaData[formId] is undefined
. (Dieser Fehler trat nur auf, wenn der Käufer denselben Browser verwendete, von dem aus er zuvor auf eine Bereitstellung mit 2.3.5-p1 zugegriffen hatte.)
_.isEmpty()
Einchecken derdefaultCaptcha.js
-Datei wurde jetzt erfolgreich abgeschlossen. Zuvor wurden diese Prüfungen nicht abgeschlossen, sodass die Checkout-Seite nach dem Upgrade nicht geladen werden konnte. GitHub-31641
Warenkorb und Checkout
- Die Anwendung berücksichtigt jetzt gebietsschemaspezifische Dezimalstellen beim Konvertieren und Aktualisieren der Produktmenge im Warenkorb.
- Die Anwendung zeigt nun die Validierungsmeldung für Geschäftsbedingungen nur noch dann im entsprechenden Block an, wenn ein Käufer auf die Schaltfläche Bestellung aufgeben klickt. Zuvor wurde diese Nachricht im Block Rabattcode anwenden angezeigt, wenn ein Käufer im Checkout-Workflow die Zahlungsmethode geändert hat:
The order wasn't placed. First, agree to the terms and conditions, then try placing your order again
.
- Die Anwendung verwirft jetzt Änderungen am Formular der Rechnungsadresse im Schritt Bezahlung an der Kasse, wenn der Käufer nicht auf die Schaltfläche Aktualisieren klickt und zum Versandschritt zurückkehrt.
- Produkte mit einer anpassbaren Option
(File)
jetzt wie erwartet aktive Links während des Multi-Shipping-Checkout-Prozesses enthalten. Zuvor fehlte dieser Link. GitHub-31095
- Der Admin-Warenkorb zeigt jetzt die Produktpreise in den richtigen Währungen für Geschäfte an, die mehrere Währungen unterstützen. Zuvor wurden die Preise mehr als einmal in die angegebene Währung umgerechnet - zunächst, wenn Produkte aus der Storefront zum Warenkorb hinzugefügt wurden, und dann erneut, wenn die Bestellung anschließend auf dem Admin gerendert wurde.
- Käufer können jetzt ein Produkt in ihren Warenkorb legen, dessen Mindest-Werbepreis (MAP) den regulären Produktpreis überschreitet.
- Käufer können jetzt beim Auschecken mit mehreren Adressen ihre Rechnungsadresse erfolgreich aus dem Checkout-Workflow ändern.
- Alle von Gästen erstellten Paid-Payment-Transaktionen werden nun in der Datenbank gespeichert und in der Admin wie erwartet angezeigt. Zuvor wurde nur eine kleine Teilmenge gleichzeitiger Bestellungen in der Datenbank gespeichert und die meisten Bestellungen gingen aufgrund von Zeitüberschreitungen verloren, die sich aus Datenbanksperren ergaben. GitHub-25862
- Die Anwendung zeigt jetzt korrekt Inline-Begrüßungsnachrichten an, die Sonderzeichen enthalten, wenn ein Gast ein Produkt in den Mini-Warenkorb legt. Zuvor hat die Anwendung das Produkt nicht zum Mini-Warenkorb hinzugefügt oder die Begrüßungsnachricht angezeigt. GitHub-32250
- Die Versandseite des Checkout-Workflows wird jetzt erfolgreich geladen, wenn der Versand im Geschäft aktiviert ist. Zuvor gab die Anwendung einen JavaScript-Fehler aus und die Versandkassenseite wurde nicht vollständig gerendert.
- Das
itemResolvers
Argument wurde zurdi.xml
hinzugefügt. Daher ist der Checkout nicht mehr fehlerhaft, wenn konfigurierbare und gruppierte Produktmodule deaktiviert sind. GitHub-30860
- Die Anwendung zeigt jetzt die Optionsschaltflächen im Abschnitt Zahlungs- und Versandinformationen wie beim Workflow „Admin-Neubestellung“ erwartet an. GitHub-30257
- Die Anwendung wendet jetzt die Regeln für den Warenkorbpreis korrekt mit einem festen Rabatt auf Warenkorbebene an, wenn der Warenkorb ein Produkt mit mehreren Optionen enthält. Zuvor wurde die Warenkorbpreisregel nicht vollständig auf die Bestellung angewendet. GitHub-30952
- Die Schaltfläche Zum Warenkorb hinzufügen in der Ansicht der Kategorieliste funktioniert jetzt wie erwartet. GitHub-32232
- Sie können jetzt POST
/V1/carts/mine/items
verwenden, um eine benutzerdefinierte Anzahl gruppierter Produkte zu einem Warenkorb hinzuzufügen. GitHub-26909
- Die Anwendung füllt den Bereich Rechnungsadresse des Checkout-Workflows nicht mehr mit der Versandadresse. Wenn zuvor das Feld Bundesland/" für die Rechnungsadresse leer war und sich die Versand- und Rechnungsadressen unterschieden, hat der Antrag das Feld Rechnungsadresse Bundesland/) mit Informationen aus der Lieferadresse ausgefüllt. GitHub-31608
Katalog
- Die Massenaktualisierung der Attribute Mengeninkremente aktivieren und Mengeninkremente funktioniert jetzt erwartungsgemäß. GitHub-29544
- Die Anwendung gibt keinen JavaScript-Fehler mehr aus, nachdem Sie die Synchronisierung aktueller Produkte mit dem Administrator aktiviert haben. Zuvor hat die Anwendung den folgenden JavaScript-Fehler angezeigt:
Cannot read property 'status' of undefined
.
- Aktualisierungen des benutzerdefinierten Design-Layouts werden jetzt erwartungsgemäß angewendet. Zuvor wurden Aktualisierungen des benutzerdefinierten Design-Layouts ignoriert.
- Der Cache für die Produktkategorie wird jetzt während der
indexer_update_all_views
-Ausführung wie erwartet voncron
gelöscht. Zuvor waren die Produktzahlen auf der Kategorieseite nach der Neuindizierung falsch.
- Attributwerte bleiben jetzt unverändert, wenn in einer REST-API-Anfrage für Produktaktualisierungen für eine Store-Ansicht kein Attribut angegeben wird. Wenn zuvor kein Attribut angegeben wurde, setzt die Anwendung den Attributwert auf den Standardwert des Bereichs zurück.
- Das Admin-Produktraster (Admin Katalog > Produkte) zeigt jetzt die richtige Produktanzahl an, wenn Produkte nach SKU gefiltert werden.
- Die Anwendung zeigt jetzt den genauen Lagerstatus an, wenn ein Produkt zu einer CMS-Seite hinzugefügt wird, wenn die Kategorieberechtigungen aktiviert sind, und verhindert die Anzeige des Preises für die angegebene Kundengruppe. Zuvor wurden alle Produkte als nicht vorrätig angezeigt, unabhängig vom tatsächlichen Lagerstatus.
- Das Eingabefeld Advanced Pricing Customer Group Price hat jetzt eine Mindestbreite von fünf Stellen. Zuvor waren in diesem Feld nur zwei Symbole auf Displays mit niedriger Auflösung sichtbar.
- Das Programm löscht jetzt erfolgreich ein Produktmedienbild, nachdem ein Produkt gelöscht wurde. Zuvor blieb das Produktmedienbild nach erfolgreichem Löschen des Produkts im Ordner.
- Das Seitenlayout wird jetzt erwartungsgemäß aktualisiert, wenn Sie ein Produkt in Admin erstellen oder bearbeiten und anschließend eine Design-Update-Planung erstellen. GitHub-32007
- Ein benutzerdefiniertes Produktattribut mit einem Wert von null kann jetzt erfolgreich als leer gespeichert werden. Zuvor wurde dieser Wert von der Anwendung nicht auf leer aktualisiert.
- Die benutzerdefinierten Aktualisierungsdateien des Kategorielayouts gelten jetzt erwartungsgemäß für die Produkte. Zuvor stimmte das Aktualisierungs-Datei-Handle (
catalog_category_view_*
) nicht mit dem Produkt-Handle überein. GitHub-27285
- Die Sortierung wurde für die Spalte Feste Produktsteuer (FPT) in der Admin-Produktliste deaktiviert. Zuvor konnte die Seite „Produkte“ nicht neu geladen werden, nachdem die FTP-Spalte sortiert wurde.
- Die Vorschau des Page Builder-Produkte-Widgets funktioniert jetzt wie erwartet in einer Bereitstellung über mehrere Websites, wenn übereinstimmende Produkte auf jeder Website einen anderen Preis haben.
- Die Sortierung nach Position bei der Produktsuche mithilfe von GET
/rest/V1/products/?searchCriteria[filterGroups]
funktioniert jetzt erwartungsgemäß. Zuvor hatte die Produktsammlung keinen Feld-position
Sortierwert. GitHub-31591
- Admin-Benutzer können jetzt doppelte Leerzeichen in den Feldern Name und SKU im Produktraster sehen. Zuvor reduzierte die Anwendung mehrere Leerzeichen in einem einzigen Leerzeichen.
- Produkte werden jetzt als nicht vorrätig in der Storefront angezeigt, wenn die verkaufbare Menge auf der Admin-Seite 0 beträgt. Zuvor wurden diese Produkte als vorrätig in der Storefront aufgeführt, und die Anwendung zeigte eine aktive Schaltfläche Zum Warenkorb hinzufügen. GitHub-31117
- Administratoren können jetzt Produkte mit anpassbaren Optionen
(File)
dem Raster „Artikel bestellt“ im Abschnitt „Warenkorb“ (Spalte „Kundenaktivitäten„) der Seite „Admin Customer“ hinzufügen. Zuvor hat die Anwendung das Element nicht zur Liste hinzugefügt, da der Wert vor dem Einfügen in\Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions
nicht korrekt formatiert war.
- Die Anwendung fordert die Käufer nicht mehr auf, eine Produktoption für ein gebündeltes Produkt auszuwählen, das nur eine Option hat.
- Das Programm zeigt jetzt alle Unterkategorien in Layout-Aktualisierungen (Anker- und Nicht-Anker-Kategorien) während der Erstellung eines neuen Widgets an.
- Die
product
-Abfrage überschreibt nicht mehr die Standardwerte für alle Store-Ansichten in einer Multi-Store-Bereitstellung, wenn ein Produktname nur für eine Store-Ansicht aktualisiert wird. GitHub-31083
- Magento Open Source aktualisiert die erwartete Gesamtseitenanzahl, wenn Sie den Wert pro Seite der Liste Admin-bezogene Produkte, Up-Sells und Crosssell ändern. GitHub-31059
- Administratoren können jetzt Produkte mit zwei oder mehr anpassbaren Optionen
(File)
einer Bestellung nach SKU hinzufügen.
- Die Anwendung gibt keinen Fehler mehr aus, wenn ein Admin mit eingeschränkten Berechtigungen im Admin-Bereich ein Produkt-Widget zu einer CMS-Seite hinzufügt. Zuvor gab es diesen Fehler, als der Administrator auf die Schaltfläche Speichern klickte:
We are sorry, an error has occurred while generating the content
.
- Produktdetailseiten werden jetzt geöffnet, wobei die anpassbare Datumsoption mit dem Datum aus der vorherigen Bestellung ausgefüllt wird, wenn JavaScript-Kalender verwenden aktiviert ist. Der benutzerdefinierte Datumsoptionen-Werteauflöser greift jetzt auf ein alternatives Format zurück, wenn der Wert nicht basierend auf der aktuellen Konfiguration formatiert ist. Zuvor war der Wert der benutzerdefinierten Datumsoption leer.
- Die Anwendung zeigt jetzt nur noch einen Fehler im Warenkorb an, wenn das Produkt nicht vorrätig ist. Zuvor wurden in der Anwendung redundante Meldungen angezeigt. GitHub-27469
- Sie können jetzt beim Erstellen oder Aktualisieren eines Bundle-Produkts mit dem
POST /V1/product/:sku
-Endpunkt dierequired_options
- undhas_options
-Bundle-Attribute wie erwartet festlegen. Zuvor wurden diese benutzerdefinierten Attribute trotz der Bemühungen, sie auf 1 (eins) festzulegen, auf 0 (null) gesetzt.
- Admins können jetzt ein Produkt mit einer anpassbaren Option
(File)
einer Bestellung nach SKU hinzufügen. GitHub-30285
- Sie können jetzt ein Produkt und einen Preis speichern, ohne
type_id
anzugeben. GitHub-13639
- Gruppenprodukte sind jetzt in der Storefront verfügbar, wie erwartet, wenn eine REST-
PUT /V1/products/:sku/links
-Anfrage verwendet wird, um ein neues untergeordnetes Produkt mit einem neuen Gruppenprodukt zu verknüpfen. Zuvor wurden Produkte nach der Ausführung vonbin/magento cron:run
nicht korrekt indiziert.
- Sie können kein Produkt mehr mit einem
NULL
SKU-Wert erstellen. Zuvor konnten Sie ein Produkt ohne SKU-Wert über ein benutzerdefiniertes Import-Tool oder direkt in der Datenbank erstellen, aber als Sie versuchten, es über die Admin zu bearbeiten, gab die Anwendung einen Fehler aus. GitHub-27411, GitHub-32525
- Wenn Sie einem einfachen Produkt die erforderlichen benutzerdefinierten Optionen hinzufügen, wird es nicht mehr ohne Warnung aus den übergeordneten zusammengesetzten Produkten entfernt. Die Anwendung zeigt jetzt eine informative Warnung an und speichert das Produkt nicht. Zuvor wurden die Produktänderungen in den Anwendungen gespeichert und es wurde keine Warnung angezeigt. GitHub-30492
Katalogregel
- Die
products
Abfrage gibt jetzt die aktuellen Werte zurück, wenn eine Katalogpreisregel auf ein Element angewendet wird. GitHub-26738
- Temporäre Tabellen, die mit
catalogrule_product__temp
beginnen, werden jetzt erwartungsgemäß gelöscht, wenn die Neuindizierung fehlschlägt, nachdem eine Warenkorb- oder Katalogregel abgelaufen ist, deaktiviert wurde oder inaktiv wird. GitHub-22273
- Zeitzonen werden nun in
\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById
und\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds
auf die gleiche Weise angewendet. GitHub-29549
CMS-Inhalte
- Große Bilder werden jetzt beim Hochladen wie erwartet skaliert, wenn die Konfigurationseinstellung Frontend-Größe aktivieren aktiviert ist.
- Fehlerkorrektur - Die Fehlerbehandlung für den CMS-Seitenspeichercontroller funktioniert jetzt. Wenn zuvor ein
Error
-Objekt für dascms_page_prepare_save
-Ereignis ausgelöst wurde, hat die Anwendung dieses Objekt an dieaddExceptionMessage
-Funktion übergeben und damit ihren Vertrag gebrochen, da diese Funktion eineException
erwartet. Dies wurde durch Hinzufügen einer Fehlermeldung mithilfe deraddErrorMessage
behoben. GitHub-30149
Konfigurierbare Produkte
- Die Anwendung dupliziert keine Produktminiaturen mehr in der Bildergalerie eines Produkts, wenn Sie auf die konfigurierbaren Optionen eines Produkts klicken.
- Das Konfigurations-Popup, das die Anwendung beim Bearbeiten eines konfigurierbaren Produkts aus einer Wunschliste anzeigt, wird jetzt wie erwartet geschlossen, wenn Sie auf die Schaltfläche OK klicken.
- Die Anwendung generiert jetzt korrekt Rechnungen für Bestellungen, die nur ein konfigurierbares Produkt enthalten. GitHub-31143
- Käufer können jetzt über eine nicht standardmäßige Store-Ansicht konfigurierbare Produkte zu ihrem Warenkorb hinzufügen. Zuvor hat die Anwendung folgenden Fehler angezeigt:
Could not add item to cart. Please check required options and try again
, wenn ein Käufer in einer nicht standardmäßigen Store-Ansicht versuchte, ein konfigurierbares Produkt hinzuzufügen. GitHub-31660
Content Security Policy (CSP)
- Die Inhaltssicherheitsrichtlinie unterstützt jetzt das Laden von base64-kodierten Bildern und Schriftarten durch
data: scheme
.
Cron
- Cron-Bereinigungsabfragen wurden überarbeitet, um die folgenden Leistungsprobleme zu reduzieren oder zu beseitigen:
cron
Aufträge bleiben in einem ausstehenden Zustand stecken, die MySQL-Abfragen werden zunehmend langsamer und die CPU-Nutzung steigt. GitHub-26507
cronjobs
, die sich seit mehr als 24 Stunden im Statusrunning
befinden, werden jetzt automatisch in Statuserror
geändert. Daher kann eine neue Instanz dieses Auftrags erneut ausgeführt werden, und Sie müssen den Auftragsstatus nicht manuell ändern, wenn ein Auftrag fälschlicherweise auf Statusrunning
festgelegt bleibt. Wenn eincronjob
im Status "running
" feststeckt, hat die Anwendung verhindert, dass neue Instanzen desselben Auftrags gestartet werden, und Sie mussten den Auftragsstatus manuell ändern. GitHub-8933
cron
Aufträge werden jetzt erwartungsgemäß abgeschlossen und lösen diesen Serialisierungsfehler nicht mehr aus:[Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28')
. GitHub-18409
indexer_update_all_views
Cron-Aufträge werden jetzt nach einem vorherigen Fehler wie erwartet ausgeführt. Der fehlgeschlagene Durchlauf wird imcron_schedule schedule
als fehlgeschlagen markiert und der nachfolgende Durchlauf schlägt nicht automatisch fehl. Zuvor wurde diecron_schedule
mit ausstehenden Aufträgen gefüllt, undindexer_update_all_views
Cron-Auftrag wurde nicht ausgeführt. GitHub-23054
cron
Deadlocks treten nicht mehr auf, weilcron
versuchen, eine Sperre in großen Bereitstellungen zu setzen, in denen sich Gruppen überschneiden. GitHub-8933
cron
Deadlocks treten in dercron_schedule
nicht mehr auf, nachdem nur einigecron
Aufträge ausgeführt wurden. GitHub-22438
Benutzerdefinierte Kundenattribute
- Das Bundesland im Adressbuch des Storefront-Kundenkontos wird jetzt als geladen und bleibt ein Dropdown-Seitenelement. Die Senden-Schaltfläche ist jetzt deaktiviert, bis alle Seitenelemente vollständig geladen wurden. Zuvor hat die Anwendung dieses Feld als Textfeld geladen, bevor sie es als Dropdown-Element gerendert hat. Käufer konnten Werte in das Textfeld eingeben und speichern, was später während des Checkouts einen Fehler verursachte.
- Die Anwendung gibt keinen Fehler mehr aus, wenn Sie beim Hochladen von Dateien ein Kundenadressattribut mit einem Dateianhang im Feld Admin-Kundenadresse speichern. Dies ist aufgrund einer fehlenden Rückgabeanweisung in der Controller-Aktion aufgetreten. Zuvor gab die Anwendung den folgenden Fehler aus:
Something went wrong while saving the file
.
- REST GET Cart-API-Aufrufe geben jetzt korrekte benutzerdefinierte Attributwerte für Abrechnungs- und Versandadressen zurück. Zuvor wurden benutzerdefinierte Adressattribute auf der Seite mit den Bestelldetails auf der Seite „My Account Storefront“ und in „Admin“ falsch angezeigt.
- Die Anwendung verarbeitet jetzt erfolgreich Dateien, die Kundenadressattribute mit dem Eingabetyp
file (attachment)
enthalten. Zuvor hat die Anwendung diesen Fehler beim Hochladen der angehängten Datei ausgegeben:Something went wrong while saving the file
.
KUNDE
- Das Filtern nach dem Erstellungsdatum des Kontos liefert jetzt Ergebnisse, die den konfigurierten Zeitzoneneinstellungen entsprechen und alle relevanten erstellten Konten erfassen.
- Der Kundenrasterfilter verwendet jetzt eine korrekte Website-Option für einen eingeschränkten Benutzer, wenn die Daten zuvor zwischengespeichert wurden. Zuvor hat der Kundenrasterfilter Website-Parameter aus dem Cache abgerufen und falsche Daten für eingeschränkte Benutzer eingefügt.
- Die Anwendung löst auf der Admin-Kundenseite keine Ausnahme mehr aus, wenn eine Website in einer Bereitstellung mit mehreren Websites gelöscht wird. Zuvor hat die Anwendung, wenn ein Administrator versucht hat, auf die umfassende Kundenliste zuzugreifen, nicht alle Kunden angezeigt und daher folgenden Fehler ausgegeben:
The website with id 2 that was requested wasn't found. Verify the website and try again
.
- Admins mit -Berechtigung können jetzt Kundinnen und Kunden über die Registerkarte Kontoinformationen des Kunden verschiedenen Websites neu zuweisen.
- Sie können jetzt eine Datei erfolgreich hochladen, wenn Sie ein Kundenadressattribut mit dem Eingabetyp
(File)
erstellen. Wenn Sie zuvor versucht haben, eine Datei hochzuladen und zu speichern, hat die Anwendung folgenden Fehler ausgegeben:Something went wrong while saving the file
.
Verzeichnis
- Die Anwendung löst keine Ausnahme mehr aus, wenn ein Käufer während des Versandabschnitts des Checkout-Workflows eine ungültige Postleitzahl eingibt. GitHub-23371
herunterladbar
- Die Anwendung zeigt jetzt in der E-Mail Neue Bestellung Links zu herunterladbaren Produkten an, wenn die Bestellung sowohl ein herunterladbares Produkt als auch ein konfigurierbares Produkt mit einer herunterladbaren Option enthält. Zuvor zeigte die Anwendung den Link zum eigenständigen herunterladbaren Produkt an, jedoch nicht den Link zum konfigurierbaren Produkt mit einer herunterladbaren Option.
EAV
- Datumswerte des Kundenadressattributs werden jetzt im vierstelligen anstatt im zweistelligen Format gespeichert.
- Der Link zum Zurücksetzen des Kennworts auf der Seite zum Zurücksetzen des Admin-Kennworts funktioniert jetzt erwartungsgemäß. Wenn zuvor eine benutzerdefinierte Vorlage für die Seite „Administratorkennwort zurücksetzen“ verwendet wurde, hat die Anwendung diese Meldung angezeigt, als ein Administrator auf den Link in der E-Mail geklickt hat:
Your password reset link has expired
. Dies trat auf, weil die benutzerdefinierte E-Mail-Vorlage die falsche Variable für die Benutzer-ID enthielt.
- Das Senden von Kunden-E-Mails über den Administrator funktioniert jetzt ordnungsgemäß, wenn sie auf der Store-Ansichtsebene aktiviert sind. Zuvor hat die Anwendung keine Kunden-E-Mails gesendet, wenn die E-Mail-Benachrichtigungseinstellungen auf Store-Ansichtsebene, aber nicht auf globaler Ebene aktiviert waren.
- Die Anwendung sendet jetzt E-Mails wie erwartet in Bereitstellungen mit mehreren Websites, in denen nicht alle Websites das asynchrone Senden von E-Mails aktiviert haben. Wenn diese Einstellung zuvor auf mindestens einer Website deaktiviert war, wurde von keiner Website eine E-Mail gesendet, selbst wenn sie aktiviert war. E-Mails mit Rechnungen, Sendungen und Gutschriften hatten ähnliche Probleme. E-Mails mit Bestellkommentaren, Rechnungskommentaren, Versandkommentaren und Gutschriften wurden jedoch erfolgreich gesendet. GitHub-31950
- PDF und Rechnungsrechnungen enthalten nun für Bundle-Produkte die erwarteten Preise. Zuvor enthielten die PDF-Rechnungen den falschen Preis für Bundle-Produkte. GitHub-12856
- Die Filtermethode der E-Mail-Vorlage wurde um eine Zeichenfolgenumwandlung erweitert, um sicherzustellen, dass der Rückgabewert eine
string
ist. Zuvor gab die Anwendung einphrase
-Objekt zurück, wenn eine Ausnahme erfasst wurde, während sie sich nicht im Entwicklermodus befand. Dies wiederum löste eine tödlicheUncaught TypeError
aus. GitHub-32671
- Bestätigungs-E-Mails für Bestellungen werden jetzt wie erwartet gesendet, wenn der asynchrone Versand aktiviert ist (Stores > Configuration > Sales > Sales-E-Mails > Allgemeine Einstellungen > Asynchroner Versand) auf einer Website in einer Multi-Site-Bereitstellung. GitHub-31950
- Die Anwendung protokolliert jetzt einen Fehler wie erwartet, wenn eine Ausnahme auftritt, da ein Kunde versucht, eine E-Mail über das Formular „Kontakt“ zu senden. GitHub-23645
Frameworks
- Übergeordnete Klassen in der Admin-Klasse werden jetzt zusammen mit der ursprünglichen Klasse und den geerbten Schnittstellen auf Docblock-Anmerkungen überprüft. Da übergeordnete Klassen nicht überprüft wurden, führte die Durchführung von kundenbezogenen Aktionen in der Admin, die ein Ereignis ausgelöst haben, zu einem Fehler. Die Anwendung hat diesen Fehler im Ausnahmenprotokoll protokolliert:
report.CRITICAL: Method's return type must be specified using @return annotation.
.
- Die Anwendung gibt keinen schwerwiegenden Fehler mehr aus, wenn der Redis-Server in einer Bereitstellung angehalten wird, in der das Caching von Redis-Seiten aktiviert ist.
- Die Anwendung berücksichtigt jetzt die Einstellung Medienordner aus Sicherung ausschließen wenn das Backup mit
bin/magento config:set system/backup/functionality_enabled 1
aktiviert ist. Zuvor wurde der Medienordner trotz dieser Einstellung gesichert, da der Pfad zu/magento
falsch mit einem doppelten // gebildet wurde.
- Die Anwendung übersetzt jetzt alle übersetzbaren Zeichenfolgen wie für die Admin-Warenkorbseite erwartet. Zuvor wurde die Übersetzungslast zu spät ausgeführt und alle Beobachter übersprungen, die für die Vorab-Dispatch-Aktion des Controllers abonniert waren. GitHub-31849
- Die Formularvalidierung auf der Seite Neues Kundenkonto erstellen funktioniert jetzt erfolgreich, wenn die Einstellung Als Kunde anmelden Erweiterung aktivieren deaktiviert ist. Zuvor gab die Anwendung einen JavaScript-Fehler aus.
- Die Ausnahmebehandlung für untergeordnete Prozesse, die von
ProcessManager
unterbrochen werden, wurde verbessert. Wenn jetzt eine Ausnahme auftritt, wird der Hauptprozess beendet und eine Fehlermeldung wird nur einmal angezeigt. Zuvor wurden mehrere Indexerfehler protokolliert und mehrere Meldungen angezeigt. GitHub-30622
- Globale Magento Open Source-Plug-ins (z. B.
webapi_rest
undgraphql
) werden für einen neuen benutzerdefinierten Bereichstyp nicht mehr ausgelöst, wenn diedi.xml
dieser Bereichsdatei keine registrierten Plug-ins enthält.
- Ausnahmen, die während der Initialisierung auftreten, werden nicht mehr zwischengespeichert und führen jetzt Trigger für einen 500-Antwort-Code aus.
- Der letzte in einer
communication.xml
zusammengeführte Handler überschreibt nicht mehr alle zuvor erstellten Handler. GitHub-29528
Allgemeine Fehlerbehebungen
- Die Anwendung zeigt jetzt die richtige Anzahl von Sternen auf der Seite „Meine Produktbewertungen“ und auf der Seite „Letzte Überprüfungen“ von MyAccount an. Zuvor hat der Antrag die Überprüfungsstarts nur auf die erste Überprüfung angewendet und die anderen Überprüfungen auf der Seite nicht gestartet.
- Account-Links in Headern folgen jetzt WCAG-Standards. Zuvor enthielten Account-Links in Headern doppelte IDs, wodurch die WCAG-Validierung fehlschlug.
- Die Anwendung gibt keine vom Systemprotokoll generierten Fehler mehr aus, wenn ein Gasteinkäufer eine ungültige Adresse verwendet. Zuvor zeigte die Anwendung gelegentlich diesen Fehler an, anstatt die Seite zu rendern:
No such entity with addressId
. GitHub-15115
- Das Ändern der Bildgröße wird bei Bildern im nicht unterstützten Format nicht mehr angehalten. Zuvor wurde der Prozess gestoppt, als
catalog:images:resize
auf ein nicht unterstütztes Bildformat stieß, und die Anwendung zeigte folgenden Fehler an:bin/magento catalog:images:resize Unsupported image format
.
- Die Unterstützung von WEBP und AVIF für Logo-Bilder wurde dem Administrator hinzugefügt. GitHub-32495
- Sie können den Umfang des
media_gallery
-Attributs nicht mehr ändern. Wenn Sie den Umfang desmedia_gallery
-Attributs zuvor wieder inglobal
geändert haben, hat die Anwendung einen Fehler ausgegeben.
- Verwandte Produkte, die als geplante Aktualisierung hinzugefügt wurden, werden nach dem Enddatum der Aktualisierung nicht mehr auf einer Storefront-Produktseite angezeigt. GitHub-469
- Die Filterung funktioniert jetzt in der Liste der geplanten Exporte wie erwartet, wenn der Entitätstyp ausgewählt ist. Zuvor funktionierte der Filter nicht und die Anwendung gab einen JavaScript-Fehler aus. GitHub-361
- Kategoriebilder werden jetzt erwartungsgemäß aus dem
catalog/tmp/category
in dencatalog/category
kopiert, wenn Kategorien mithilfe der Datenbankspeichermethode gespeichert werden. Die Bildzeile in dermedia_storage_file_storage
hat nun auch die richtigedirectory_id
. GitHub-11995
- Händler werden jetzt wie erwartet über ungültige Caches benachrichtigt, nachdem sie Änderungen an der CMS-Hierarchie gesendet haben. Zuvor hat die Anwendung beim Speichern der CMS-Hierarchie Caches nicht ungültig gemacht.
- Redundante AJAX-Anfragen an den Warenkorbabschnitt des Warenkorbs wurden reduziert. Zuvor hat die Anwendung die Zwischensumme des Warenkorbs nicht ordnungsgemäß geladen, was das erneute Laden des Warenkorbs ausgelöst hat.
- Die Validierung für URLs wurde hinzugefügt, um zu verhindern, dass reservierte Wörter in URL-Schlüssel aufgenommen werden. Siehe Definieren bekannter URIs (Uniform Resource Identifiers)
- Bei Bereitstellungen mit PHP 7.4 gibt die Anwendung jetzt einen 404-Fehler zurück, wenn die Einstellung Generate „category/product“ URL Rewrites auf No gesetzt ist und ein Käufer versucht, auf einen nicht vorhandenen Kategoriepfad zuzugreifen. Zuvor gab die Anwendung einen 500-Fehler zurück, der wie folgt lautet:
Trying to access array offset on value of type bool
. GitHub-31984
nowdoc
hatheredoc
imMagento_Backend
-Umschalter ersetzt. GitHub-32262
- Argentinien, Bolivien, Chile, Ecuador, Guyana, Paraguay, Peru, Suriname und Venezuela wurden dem
directory_country_region
hinzugefügt. GitHub-31169
- Die Regionen Albanien, Dänemark, Griechenland, Island, Portugal und Schweden wurden dem
directory_country_region
hinzugefügt. GitHub-31040
- Nachrichten werden jetzt in der MySQLMQ-Nachrichtenwarteschlange als Fehler gekennzeichnet, wenn Ausnahmen auftreten. GitHub-18140
- Die Anwendung verweist jetzt beim Laden der Steuerinformationen für die Seiten „Admin-Gutschrift“ und „Rechnung“ auf das richtige Klassenobjekt. GitHub-31197
- Die Royal Mail Click & Drop-Integration funktioniert jetzt erwartungsgemäß. Zuvor gab die Anwendung diesen Fehler aus, als Sie versuchten, diese Integration zu aktivieren:
Sorry! Something went wrong. Please try again later
. GitHub-28996
- Die Anwendung zeigt jetzt eine informative Fehlermeldung an, wenn eine falsche Lieferung, Gutschrift oder Rechnungs-ID in einer URL übergeben wird. Zuvor gab es einen schwerwiegenden Fehler. GitHub-30424
- Rekursion am Speicherort der statischen Dateien wurde entfernt. Die Anwendung zeigt jetzt eine 404-Seite anstelle eines 500-Fehlers an. Zuvor führte ein Fehler in der standardmäßigen NGINX-Konfiguration zu einer unendlichen Rekursion. GitHub-31530
- Der Name der
cms_index_noroute.xml
wurde incms_noroute_index.xml
geändert. GitHub-31300
- Die
.editorconfig
wurde überarbeitet, um die automatische Formatierungdb_schema_whitelist.json
Dateien zu korrigieren. GitHub-31171
- Durch Ändern der Größe eines Browserfensters duplizieren Trigger keine Bindungsvergrößerungsereignisse mehr. GitHub-30788
- Die Anwendung löst beim Filtern von
Magento\Users\Model\ResourceModel\Users\Collection
nachuser_id
keine SQL-Ausnahme mehr aus. GitHub-31216
Geschenkkarten
- Die Validierungslogik für Preisbereiche wurde der Seite zur Geschenkkartenerstellung hinzugefügt. Zuvor konnte ein Administrator eine Karte mit einem Mindestwert erstellen, der den Höchstwert überschritt. GitHub-493
- Die
addRequisitionListItemsToCart
Abfrage gibt jetzt den erwarteten Betrag einer benutzerdefinierten Geschenkkarte zurück, wenn die Anfrage keinen Wert fürallow_open_amount
enthält.
Geschenknachricht
- Administratoren werden jetzt nach der Anmeldung direkt zur angeforderten Admin-Seite weitergeleitet. Wenn sich ein Administrator angemeldet hat, wurde er zuvor zum Admin-Dashboard weitergeleitet (oder zu der als Startseite konfigurierten Seite) und musste manuell zu seinem Ziel navigieren. GitHub-31042
Google Tag Manager
- Die UI-Komponente für die Rechnungsadresse auf der Zahlungsseite des Checkout-Workflows verwendet jetzt die Angebotsadresse korrekt, wenn Google Tag Manager aktiviert ist. Zuvor ist auf der Zahlungsseite ein JavaScript-Fehler aufgetreten.
GraphQL
- Die GraphQL
products
-Abfrage gibt jetzt Attributoptionen zurück, die in derselben Sortierreihenfolge wie auf der Attributbearbeitungsseite sortiert sind.
- Die Antwort auf die
{ category(id: 2){ children { name children { name } } } }
GraphQL-Anfrage enthält jetzt eine korrekt sortierte Kategoriestruktur.
- Das
CartItemPrices
-Objekt enthält jetzt die neuefixed_product_taxes
GraphQL , die ein Array der festen Produktsteuern zurückgibt, die auf ein Warenkorbelement angewendet werden. Zuvor wurden feste Produktsteuern, die auf einen Warenkorbartikel angewendet wurden, nicht in die Warenkorbabfrage einbezogen.
- Leere Anfragen an GraphQL geben jetzt den Antwort-Code 200 anstelle von 500 aus. Zuvor hat der GraphQL-Parser eine Ausnahme ausgelöst, bevor das Abfrageergebnis generiert wurde.
- Die
applyRewardPointsToCart
-Mutation aktualisiert nun den Gesamtwert eines Warenkorbs, um den Wert der abgezogenen Belohnungspunkte genau widerzuspiegeln. GitHub-486
- Deaktivierte Produkte sind nicht mehr in der GraphQL-Antwort enthalten, wenn GraphQL zum Verknüpfen von Upsell-Produkten verwendet wird.
- Händler können jetzt die GraphQL-
setShippingAddressesOnCart
verwenden, um Rechnungs- und Versandadressen für den Warenkorb eines Käufers festzulegen, wenn der Gast-Checkout deaktiviert ist.
- Die
categoryList
Abfrage löst keine Ausnahme mehr aus, wenn sie mehrere Fragmente imCategoryTree
enthält. GitHub-31086
- Die GraphQL
product
-Abfrage gibt jetzt die richtigen Kundengruppenpreise zurück.
- Die GraphQL
products
-Abfrageantwort sortiert Aggregationen jetzt nach der Position der Produktattribute.
- Die Anwendung gibt bei GraphQL-Abfragen keine Typfehler mehr aus, wenn die Produkt- und Kategorie-URL-Suffixe Nullwerte enthalten. GitHub-30909
- Das
CustomizableDateValue
-Objekt enthält jetzt dastype
. Sein Wert ist eine Auflistung, die auf DATE, DATE_TIME oder TIME festgelegt werden kann.
- Die
dynamicBlocks
Abfrage gibtInhalt der dynamischen Blöcke zurück, die den angegebenen Filtern entsprechen.
- Die Anfrage zur POST
V1/products/special-price-delete
löscht jetzt nur den Preis mit einem angegebenenstore_id
erwartungsgemäß. Zuvor wurden durch den Aufruf alle Sonderpreise für die angegebene SKU aus allen Stores entfernt. GitHub-25907
- Fehlerkorrektur - Das Attribut
country_code
in dercreateGiftRegistry
-Mutation ist jetzt fehlerfrei.
- Es wurden Probleme mit dem
giftRegistryUid
derupdateGiftRegistryItems
-Mutation behoben.
- Es wurde eine zusätzliche Prüfung hinzugefügt, um zu verhindern, dass die
updateGiftRegistryRegistrants
-Mutation verwendet wird, um zufällige Personen als Registrierende zu einem Geschenkgutachten hinzuzufügen.
- Die
addConfigurableProductsToCart
Mutation gibt jetzt die richtige Miniaturansicht des angegebenen Produkts zurück. Zuvor wurde die Miniaturansicht des übergeordneten Produkts zurückgegeben.
- Die
products
Abfrage zeigt den Sonderpreis eines Produkts nicht mehr an, wenn die Sonderpreisperiode für ein künftiges Datum festgelegt ist. GitHub-30210, GitHub-29631
- Die
customer
-Abfrageantwort enthält jetzt dastotal_giftcard
-Attribut als Teil desOrderTotal
.
- Es wurde ein Problem behoben, das dazu führte, dass die
products
-Abfrage fehlerhafte Informationen zu Preisstufen für Artikel zurückgab, für die keine Preisstufe festgelegt war. GitHub-32279
Bild
- Sie können jetzt die Bundle-Attribute required_options und has_options wie erwartet beim Erstellen oder Aktualisieren eines Bundle-Produkts mit dem Endpunkt POST
/V1/product/:sku
festlegen. Zuvor wurden diese benutzerdefinierten Attribute trotz der Bemühungen, sie auf 1 (eins) festzulegen, auf 0 (null) gesetzt.
Import/Export
- Der Filter Kategorie-IDs für Produktentitäten im Raster „Entitätsattribute der Seite exportieren“ funktioniert jetzt erwartungsgemäß.
- Der Status des gruppierten Produktbestands wird jetzt erwartungsgemäß auf Nicht vorrätig aktualisiert, wenn alle untergeordneten Produkte nicht vorrätig sind. GitHub-32647
- Der konfigurierbare Produktbestandsstatus wird jetzt erwartungsgemäß automatisch aktualisiert, wenn der Status des untergeordneten Produktbestands durch den Import aktualisiert wird. Zuvor wurde der Produktbestandsstatus nicht automatisch aktualisiert, wenn der Lagerstatus untergeordneter Produkte durch den Import aktualisiert wurde.
- Sie können jetzt leere Werte in einem geplanten Export speichern. Zuvor hat die Anwendung leere Filterwerte nach der Exporterstellung oder dem Speichern aktualisiert. Sowohl
no
- als auchnot specified
Werte wurden in der Datenbank durch null dargestellt, und ein Wert vonnot selected
wurde mitno
überschrieben.
- Der Exportprozess berücksichtigt jetzt den Umfang der Benutzerrolle beim Exportieren von Produkten, Lagerquellen und Kundenentitäten. Zuvor ignorierte der Exportprozess den Benutzerrollenbereich, der den Export von Entitäten mit privaten Benutzerrollen ermöglichte.
- Die Anwendung legt jetzt die Produktsteuerklasse auf
None
fest, wenn ein Produkt mittax_class_name
WertenNone
oder0
importiert wird. Wennproduct tax_class_name
zuvor in der CSV-DateiNone
wurde, hat das Programm eine neue SteuerklasseNone
erstellt, die die vorhandene Steuerklasse dupliziert hat. Wennproduct tax_class_name
in der CSV-Datei0
wurden, ignorierte die Anwendung diesen Wert, und die Produktsteuerklasse änderte sich nach dem Import nicht.
- Admins können jetzt die
name
derbundle_values
eines Produktpakets erfolgreich über den Admin ändern. Zuvor hatte das Programm das Produkt als nicht vorrätig in der Storefront angezeigt, nachdem Sie den Namen von der Administratorin bzw. dem Administrator geändert hatten. Produkte wurden auch mit derselben SKU zu einem einzigen Abschnitt mit Bundle-Optionen zusammengeführt.
- Die Anwendung berücksichtigt jetzt den Benutzerbereich beim Exportieren von Kundendaten. Wenn Sie zuvor versucht haben, Kunden zu exportieren, hat die Anwendung Kundendaten aus allen Websites exportiert.
- Die Anwendung entfernt jetzt während des CSV-Dateiimports Produktbeziehungen zwischen Upsell, Crosssell und zugehörigen Produkten wie erwartet, wenn
__EMPTY__VALUE__
in der CSV-Datei angegeben ist.
- Der Export von benutzerdefinierten Adressdaten für viele Kunden (Admin System > Export) führt nicht mehr routinemäßig zu einem Speicherfehler. Zuvor hat die Anwendung beim Exportieren benutzerdefinierter Adressdaten versucht, alle Kundendaten zu laden, was zu einer Speichererschöpfung führte, und es wurde ein Fehler ausgegeben, durch den es nicht möglich war, Speicher zuzuordnen.
- Doppelte Stufenpreise werden während des standardmäßigen CSV-Importvorgangs nicht mehr importiert. Zuvor fehlte die Validierung, um den Import doppelter Stufenpreise zu verhindern, und als doppelte Stufenpreise auftraten, konnten Händler die Produkte nicht speichern. Händler sahen diesen Fehler auch, als sie versuchten, einen Produktwechsel zu planen:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry…
.
- Alle Produktbilder werden jetzt beim Import validiert. Zuvor hat die Anwendung nur das erste Bild validiert, wenn ein Produkt mehrere Bilder hatte. GitHub-28236
- Sie können jetzt eine Region wie beim Import erwartet aus einer Kundenadresse löschen. Zuvor hat sich die zugewiesene Region nicht geändert, wenn eine Kundenadresse mit einer leeren Region importiert wurde.
- Produkte mit JSON- oder HTML-Inhalten als zusätzliche Produktattribute werden jetzt korrekt in eine CSV-Datei exportiert. Zuvor enthielt die CSV-Datei überlappende Datenzeichenfolgen in falschen Feldern.
Index
- Process Manager wird jetzt mit einem Fehler beendet, wenn ein untergeordneter Prozess fehlschlägt. Process Manager wurde zuvor immer erfolgreich beendet, wenn die Anzahl der an den Prozess übergebenen Funktionen (z. B. Indexerdimensionen) kleiner war als der Wert der
MAGE_INDEXER_THREADS_COUNT
Umgebungsvariablen. GitHub-30964
- Produkte sind jetzt wie erwartet in den Suchergebnissen der Storefront verfügbar, wenn Produkte über eine REST-PUT verknüpft werden
/V1/products/:sku/links
eine -Anfrage gesendet wird, wenn der Indexermodus auf "beim Speichern“ ist.
- Der Indexer der Katalogpreisregel funktioniert jetzt erwartungsgemäß, wenn der Indexermodus auf "beim Speichern“ ist. GitHub-370
- Das Löschen einer deaktivierten Kategorie, die kein Produkt enthält, hat jetzt keine Auswirkungen mehr auf die Katalogsuche und die flachen Indextabellen der Kategorie. Zuvor wurde durch das Löschen einer inaktiven Kategorie eine vollständige Neuindizierung ausgelöst. GitHub-23297
- Benutzerdefinierte Indexer können jetzt für Abonnements verschiedene Entitätsspaltennamen verwenden. Zuvor verwendete der Datenbank-Trigger den Spaltennamen aus dem Indexer, der zuletzt auf "nach Zeitplan“ festgelegt war anstelle des vorgesehenen Indexers. GitHub-21853
- Die Anwendung sendet keine AJAX-Anfragen mehr zum Neuladen von Kundendatenabschnitten (
Magento_Customer/js/section-config
), die von der Anfrage nicht betroffen sind. GitHub-31948
- Die folgenden Indexer werden nicht mehr ungültig, nachdem Sie Produkte in einer Kategorie hinzugefügt, entfernt oder neu angeordnet haben:
catalog_category_product
undcatalogsearch_fulltext
(und deren abhängige Elemente). Zuvor lösten diese versehentlichen Entfernungen eine vollständige Neuindizierung von Sites aus. Eine vollständige Neuindizierung wird jetzt unter diesen Bedingungen verhindert, wenn der flache Katalog nicht aktiviert ist.
Infrastruktur
- Die
pelago/emogrifier
wurde von Version 3.1.0 auf 5.0.0 aktualisiert. Diese Aktualisierung führte zur Einführung von abwärtsinkompatiblen Änderungen an derMagento\Email\Model\Template\Filter
. Der geänderte Code wird beim Rendern der E-Mail-Vorlagen ausgeführt. Siehe BIC-.
- Es wurde ein Problem mit
\Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds
behoben, das das Speichern eines neuen Produkts verhinderte.
- Die veraltete TinyMCE v3-Bibliothek wurde entfernt. Das
Magento_Tinymce3Banner
und die MFTF-Tests im Zusammenhang mit TinyMCE v3.x wurden aus Adobe Commerce entfernt.
- Die Anwendung gibt im Formular „Kontakt“ keinen
Invalid header value detected
mehr aus, wenn ein Käufer eine E-Mail-Adresse mit französischen diakritischen Zeichen (z. B. „é“, „è„) eingibt. Die Anwendung konvertiert jetzt UTF-8-Buchstaben im Benutzernamen in ASCII-Codierung. Zuvor wurden UTF-8-Briefe im eindeutigen Abschnitt der E-Mail-Adresse nicht in ASCII-Kodierung konvertiert.
- Die Anwendung gibt keinen schwerwiegenden PHP-Fehler mehr aus, wenn ein Plug-in zu einer übergeordneten Klasse hinzugefügt wird. GitHub-31291
- Die README.md-Dateien für die folgenden Module wurden aktualisiert:
Magento_Msrp
,Magento_MsrpConfigurableProduct
,Magento_MsrpGroupedProduct
,Magento_Multishipping
,Magento_MysqlMq
. GitHub-32577
phpcpd
wurde aus Gründen der PHP 8-Kompatibilität auf Version 6.0.3 aktualisiert.
ramsey/uuid
wurde aus Gründen der Kompatibilität mit PHP 8.0 aktualisiert. GitHub-31777, GitHub-826
colinmollenhour/php-redis-session-abstract
wurde zur Kompatibilität mit PHP 8 auf Version 1.4.4 aktualisiert. GitHub-32709
- Fehlerkorrektur - Eine ungültige Kombination aus Tabulatoren und Leerzeichen in der
phpstan.neon
-Datei wurde korrigiert. GitHub-31239
- Die Verwendung veralteter
$_isScopePrivate
in der Code-Basis wurde entfernt. GitHub-30506
- Seiten-Layouts sind in nicht mehr hartcodiert
Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container
. Infolgedessen gibt die FunktiongetPageLayouts()
jetzt die tatsächliche Liste der Seiten-Layouts zurück, die von den verschiedenen Modulen erwartungsgemäß deklariert wurden. Zuvor wurden nur hartcodierte Layouts zurückgegeben. GitHub-31168
- Die
composer.lock
wurde auf die neueste Version des Coding Standard aktualisiert. GitHub-31152
- Der
magento/module-jwt-framework-adapter
wurde eine fehlende Abhängigkeit vomweb-token/jwt-framework
hinzugefügt. GitHub-32578
- Der
fotorama.js
-Bibliothek wurden passive Listener hinzugefügt, um die Punktzahl der Lighthouse-Metriken zu verbessern. GitHub-31140
- Die Datei README.md für das Modul Google Analytics wurde aktualisiert. GitHub-32616
- Process Manager verarbeitet Ausnahmen jetzt ordnungsgemäß in verzweigten Prozessen. Der Hauptprozess ist jetzt beendet, und die Anwendung zeigt jetzt nur noch einmal eine Fehlermeldung an. Außerdem werden die Ausnahmen aus den verzweigten Prozessen jetzt verarbeitet, wenn sie im Hauptprozess ausgelöst werden. Zuvor protokollierte die Anwendung mehrere Indexerfehler und zeigte mehrere Fehlermeldungen an. GitHub-30622
- Die Anwendung gibt keinen Fehler mehr aus, wenn ein Plug-in zu einer übergeordneten Klasse hinzugefügt wird. (Der
optionsProvider
Parameter wird jetzt nach dergetContentIdentities
inAssest.php
deklariert.) Zuvor gab die Anwendung folgenden Fehler aus:Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface
. GitHub-31291
- Die Ausführung von
Magento\Framework\Filesystem\Io\Ftp::ls()
auf einem leeren Ordner gibt jetzt erwartungsgemäß ein leeres -Array zurück. Zuvor gab die Anwendung diese Ausnahme aus:Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php…
. GitHub-31288
- Die
update
Methode für sowohl Rollen als auch Regeln wurde inapp/code/Magento/Authorization/Model/Role.php
als veraltet markiert. GitHub-30756
- Die Verkettung für SameSite-Cookie-Parameter wurde korrigiert. Zuvor wurde das
lex
Suffix durch eine falsche Verkettung anvalue
,domain
und andere Parameter angehängt. GitHub-26377, GitHub-32440
- In der gesamten Code-Basis wurde
allure-framework/allure-phpunit
auf Version 1.3.1 aktualisiert. Zuvor hat die Anwendung diesen Fehler angezeigt:Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74.
GitHub-24635
- Die Anwendung zeigt jetzt informativere Fehler an, wenn bei der Ausführung von
bin/magento
-Befehlen im Produktionsmodus Fehler auftreten. Zuvor hat die Anwendung entweder keine Fehlermeldungen angezeigt oder Meldungen angezeigt, bei denen Informationen fehlten. GitHub-32786
- Das
ArrayIterator
PHP-Objekt wurde aktualisiert, damit es mit PHP 7.4 erwartungsgemäß funktioniert. GitHub-32088
- Die Anwendung gibt keinen Fehler mehr aus, wenn ein Kunde versucht, eine Bestellung abzuschließen, obwohl keine Spediteure verfügbar sind. Stattdessen werden die Kaufbestätigungsseite und die folgende Nachricht angezeigt:
Sorry, no quotes are available for this order at this time
. Zuvor zeigte die Anwendung eine leere Checkout-Seite an und zeichnete diese Meldung im Ausnahmegenehmigungsprotokoll auf:array_keys() expects parameter 1 to be array, null given
. GitHub-30830
- Die Anwendung protokolliert nicht mehr jedes Cookie als separaten Kontext. Das
$_COOKIE
-Array wurde ebenfalls in eine Zeichenfolge konvertiert. Da bisher jedes Cookie als separater Kontext protokolliert wurde, protokollierte die Anwendung, wenn die Anzahl der Cookies 50 überschritt, diese Nachricht:Unable to send the cookie. Maximum number of cookies would be exceeded
. GitHub-31334
Rechnung
- Beim Erstellen neuer Rechnungen in Admin funktioniert das Kontrollkästchen E-Mail-Kopie von jetzt erwartungsgemäß. Zuvor wurde das Kontrollkästchen ignoriert, wenn die globale Einstellung zum Senden von Rechnungs-E-Mails in Verkaufs-E-Mails aktiviert war. Sie ist jetzt konsistent und funktioniert auf die gleiche Weise wie die Seiten zur Erstellung von Sendungen und Gutschriften. GitHub-28511
Mediensammlung
bin/magento media-gallery:sync
schlägt jetzt beim Verarbeiten von PNG-Bildern ohne XMP-Informationen wie erwartet fehl.
- Einträge in der
catalog_product_entity_media_gallery
-Tabelle werden erwartungsgemäß entfernt, wenn zugehörige Produkte gelöscht werden. GitHub-17727
- Bilddetails können jetzt in der Mediensammlung aktualisiert werden, wenn die JavaScript-Minimierung aktiviert ist. Zuvor wurden Bilddetails nicht gespeichert und die Anwendung zeigte diesen Fehler an:
TypeError: Cannot read property 'call' of undefined in jquery.validate
. GitHub-31633
MFTF
Neue Funktionen und Fehlerbehebungen im MFTF-Kern werden im Änderungsprotokoll zum Functional Testing Framework beschrieben.
- Die Befehle
magento indexer:reindex
undcache:flush
sowie die AktionsgruppeAdminReindexAndFlushCache
wurden aus Tests entfernt, um die Ausführung für die folgenden Module zu verbessern:Bundle
,Catalog
,CatalogRule
,CatalogRuleConfigurable
,CatalogUrlRewrite
,Downloadable
,Indexer
,Paypal
undSales
. GitHub-31031
AdminSubmitCategoriesPopupActionGroup
wurde Tests hinzugefügt, um Testfehler zu vermeiden. GitHub-31251
- Tests wurden mit
StorefrontCheckQuickSearchStringActionGroup
undStorefrontAssertProductNameOnProductMainPageActionGroup
(bestehende Aktionsgruppen) umgestaltet. GitHub-31251
Überarbeitete Tests
Die folgenden Tests wurden überarbeitet, um die Ausführungszeit zu verbessern:
AddOutOfStockProductToCompareListTest
AdminApplyTierPriceToProductWithPercentageDiscountTest
AdminCheckingCreditMemoTotalsTest
AdminCheckDashboardWithChartsTest
AdminConfigDefaultProductLayoutFromConfigurationSettingTest
AdminCreateInvoiceTest
AdminCreateOrderAddProductCheckboxTest
AdminMassOrdersCancelCompleteAndClosedTest
AdminMassOrdersCancelProcessingAndClosedTest
AdminMassOrdersHoldOnCompleteTest
AdminMassOrdersHoldOnPendingAndProcessingTest
(Ersatz für veraltete AdminMassOrdersHoldOnPendingAndProcessingTest
)
AdminMassOrdersUpdateCancelPendingOrderTest
AdminMassProductPriceUpdateTest
AdminMassUpdateProductAttributesMissingRequiredFieldTest
AdminOrdersReleaseInUnholdStatusTest
AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest
AdminSortingByWebsitesTest
AdminUpdateSimpleProduct
AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest
AdminValidateShippingTrackingNumberTest
CancelOrdersInOrderSalesReportTest
ProductsQtyReturnAfterOrderCancelTest
StorefrontConfigurableProductBasicInfoTest
Aktionsgruppen
Wiederholte Aktionen wurden in diesen Tests durch Aktionsgruppen ersetzt:
AdminCheckConfigurableProductPriceWithDisabledChildProductTest
AdminConfigurableProductCreateTest
AdminConfigurableProductRemoveAnOptionTest
AdminCreateProductDuplicateUrlkeyTest
AdminCreateSimpleProductNegativePriceTest
AdminCreateSimpleProductZeroPriceTest
AdminCreateVirtualProductFillingRequiredFieldsOnlyTest
AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest
AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest
AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest
Neue Aktionsgruppen
AdminClearFiltersOnGridActionGroup
AdminClickAddNewPageOnPagesGridActionGroup
AdminClickInsertWidgetActionGroup
AdminClickRefundOfflineOnNewMemoPageActionGroup
AdminFillAccountInformationOnCreateOrderPageActionGroup
AdminGoToOrderStatusPageActionGroup
AdminOpenCMSPagesGridActionGroup
AdminSelectAttributeSetOnEditProductPageActionGroup
AssertAdminProductIsAssignedToCategoryActionGroup
(ersetzt das Filtern des Produktrasters durch SKU und das Klicken auf die erste Zeile (um die Ausführungszeit für Tests zu verkürzen)
AssertLinkActionGroup
AssertStorefrontCartDiscountActionGroup
ClickPlaceOrderActionGroup
SaveCmsPageActionGroup
StorefrontAssertProductNameIsNotOnProductMainPageActionGroup
StorefrontGuestCheckoutProceedToPaymentStepActionGroup
StorefrontHoverProductOnCategoryPageActionGroup
StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup
Gelöschte Aktionsgruppen
CliIndexerReindexActionGroup
(oder Werteänderung) aus Tests entfernt, um die Ausführungszeit für dieBackend
-,Bundle
-,BundleImportExport
-,Catalog
-,CatalogRule
-,CatalogSearch
-,Checkout
-,Downloadable
-,LoginAsCustomer
-,Elasticsearch
-,SalesRule
Search
-,Elasticsearch6
-,Store
Swatches
UrlRewrite
Weee
Wishlist
-,Indexer
-,LayeredNavigation
-,Newsletter
- undSales
-Module zu verbessern.
CliCacheFlushActionGroup
ausCatalog
,CatalogUrlRewrite
,Checkout
,Config
,ConfigurableProduct
,Contact
,Cookie
,CurrencySymbol
,Customer
,Downloadable
,Elasticsearch
,Fedex
,Elasticsearch6
,Msrp
,Sales
,Swatches
,Indexer
,LayeredNavigation
,LoginAsCustomer
,Multishipping
,Translation
,UrlRewrite
,Vault
,Weee
,Wishlist
, und Modulen entfernt.