Versionshinweise zu Adobe Commerce 2.4.3
Adobe Commerce 2.4.3 bietet verbesserte Leistung und Sicherheit sowie deutliche Plattformverbesserungen. Zu den Sicherheitsverbesserungen gehören die Erweiterung der reCAPTCHA-Abdeckung und die Einbeziehung der integrierten Ratenbegrenzung. Kernkomponentenabhängigkeiten und Drittanbieter-Bibliotheken wurden auf die neuesten Versionen aktualisiert, die mit PHP 8.x kompatibel sind.
Diese Version enthält über 370 neue Fehlerbehebungen im Kerncode und 33 Sicherheitsverbesserungen. Alle bekannten Probleme, die in den Versionshinweisen zu Adobe Commerce 2.4.2 identifiziert wurden, wurden in dieser Version behoben.
Informationen zu Adobe Commerce 2.4.2-p2 finden Sie unter Adobe Commerce 2.4.2-p2 - Versionshinweise .
Weitere Versionsinformationen
Obwohl der Code für diese Funktionen mit vierteljährlichen Versionen gepackt ist, werden mehrere dieser Projekte (z. B. B2B, Page Builder und 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 MC-43048__set_rate_limits__2.4.3.patch an, um Probleme mit API-Rate zu beheben, die begrenzt sind.
Dieser Hotfix bietet eine Lösung für das Problem, dass Web-APIs keine Anforderungen verarbeiten können, die mehr als 20 Elemente in einem Array enthalten. Dieses Problem betrifft Bereitstellungen, die Magento Open Source 2.4.3, Adobe Commerce 2.4.3 oder 2.3.7-p1 ausführen. In diesen Versionen wurde eine integrierte Ratenbegrenzung hinzugefügt, um DoS-Angriffe (Denial-of-Service) zu verhindern. Die standardmäßige Maximalzahl wurde auf 20 festgelegt. Durch diesen Patch wird die Standardbegrenzung auf einen höheren Wert zurückgesetzt. Wenn Sie vermuten, dass Ihr Store einen DoS-Angriff erfährt, empfiehlt Adobe, die Standardeingabeschränkungen auf einen niedrigeren Wert zu reduzieren, um die Anzahl der Ressourcen zu begrenzen, die angefordert werden können. Weitere Informationen finden Sie im Artikel Web-API, die Anfragen mit mehr als 20 Elementen im Array Knowledge Base nicht verarbeiten kann.
Wenden Sie AC-384__Fix_Inkompatible_PHP_Method__2.4.3_ce.patch an, um den schwerwiegenden Fehler von PHP beim Upgrade zu beheben.
Der folgende schwerwiegende Fehler kann während der Aktualisierung auf Adobe Commerce 2.4.3 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 Funktion str_contains
, die eine PHP 8.x-Funktion ist. Adobe Commerce 2.4.3 unterstützt PHP 8.x nicht. Dieses Hotfix ersetzt diese Funktion durch eine unterstützte PHP 7.x-Funktion. Weitere Informationen finden Sie im Artikel Adobe Commerce-Upgrade 2.4.3, 2.3.7-p1 PHP-Fatal error Hotfix Knowledge Base .
Wenden Sie AC-3022.patch
an, um DHL weiterhin als Versandunternehmen anzubieten.
DHL hat die Schemaversion 6.2 eingeführt und wird in naher Zukunft die Schemaversion 6.0 veraltet sein. 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 so schnell wie möglich AC-3022.patch
anwenden, um DHL weiterhin als Versandunternehmen anzubieten. Informationen zum Herunterladen und Installieren des Patches finden Sie im Artikel Anwenden eines Patches, um DHL weiterhin als Versandunternehmen anzubieten Knowledge Base .
Highlights
Beachten Sie die folgenden Highlights in dieser Version.
Wesentliche Sicherheitsverbesserungen
Diese Version umfasst 33 Sicherheitsverbesserungen und Verbesserungen der Plattformsicherheit. Viele dieser Sicherheitskorrekturen wurden auf 2.4.2-p2 und 2.3.7-p1 zurückportiert.
Dreiunddreißig Sicherheitsverbesserungen, die dazu beitragen, Schwachstellen bei der Ausführung von Remote-Code (RCE) und Cross-Site-Scripting (XSS) zu schließen
Bisher sind keine bestätigten Angriffe im Zusammenhang mit diesen Problemen aufgetreten. Bestimmte Schwachstellen können jedoch potenziell ausgenutzt werden, um auf Kundeninformationen zuzugreifen oder Administratorsitzungen zu übernehmen. Die meisten dieser Probleme erfordern, dass ein Angreifer zunächst Zugriff auf den Admin erhält. Daher möchten wir Sie daran erinnern, alle erforderlichen Maßnahmen zum Schutz Ihres Administrators zu ergreifen, einschließlich, aber nicht beschränkt auf diese Maßnahmen: IP-auf die Zulassungsliste setz, Zweifaktorauthentifizierung, Verwendung eines VPN, Verwendung eines eindeutigen Standorts anstelle von /admin
und gute Passworthygiene. Eine Erläuterung dieser behobenen Probleme finden Sie im Adobe-Sicherheitsbulletin .
Zusätzliche Sicherheitsverbesserungen
Sicherheitsverbesserungen für diese Version verbessern die Einhaltung der neuesten Best Practices für die Sicherheit, einschließlich:
-
Ein neues Composer-Plug-in verhindert Abhängigkeitsverwirrung und identifiziert böswillige Pakete mit denselben Namen wie interne Pakete im öffentlichen Paket-Repository. Siehe Blogpost Adobe Releases New Composer Plugin with 2.4.3 Release .
-
Die Ratenbegrenzung ist jetzt in APIs integriert, um DoS-Angriffe (Denial-of-Service) zu verhindern. Web-APIs erlegen nun 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 zum Konfigurieren dieser Einschränkungen finden Sie unter Begrenzung der Rate .
-
ReCAPTCHA-Abdeckung wurde erweitert um Folgendes:
-
Web-APIs mit entsprechenden HTML-Seiten werden durch ReCAPTCHA abgedeckt. (Hiervon ausgenommen sind Web-APIs, auf die von Integrationen zugegriffen wird.) Die ReCAPTCHA-Abdeckung schützt Endpunkte vor Spam-Angriffen. Wenn ein Drittanbieter-Integrationsdienst, der OAuth verwendet, auf Web-APIs zugreift, ist ReCAPTCHA deaktiviert.
-
Die Storefront-Seite "Place Order"und zahlungsbezogene Web-APIs. Der ReCAPTCHA-Schutz für diese Seiten ist standardmäßig deaktiviert und kann vom Administrator aktiviert werden. Diese Abdeckung ergänzt einen Mechanismus zur Bekämpfung der Brutusarbeit, um die Geschäfte vor Kartierangriffen zu schützen.
-
Verbesserungen der Infrastruktur
Diese Version enthält Verbesserungen, die die Qualität des Frameworks und die folgenden Funktionsbereiche verbessern:
-
Kundenkonto
-
Katalog
-
CMS
-
OMS
-
Import/Export
-
Promotions und Targeting
-
Warenkorb und Checkout
-
B2B
-
Staging und Vorschau
PayPal Pay Later wird jetzt in Implementierungen unterstützt, die PayPal enthalten. Diese Funktion ermöglicht es den Käufern, eine Bestellung in zweiwöchigen Tranchen zu bezahlen, anstatt den vollen Betrag zum Zeitpunkt des Kaufs zu zahlen.
Neuer use_application_lock
Indizierungsmodus. Im Modus use_application_lock
können Sie die Neuindizierung entweder durch die Verwendung von Umgebungsvariablen oder durch Konfiguration der Datei app/etc/env.php
aktivieren. Sie müssen den Indexer nach einem Fehler nicht mehr manuell zurücksetzen, wenn dieser Modus aktiviert ist. Siehe Verwenden des Anwendungssperrmodus für Neuindizierungsprozesse.
Plattformverbesserungen
Version 2.4.3 ist noch nicht mit PHP 8.x kompatibel, aber die folgenden Plattformaktualisierungen bringen uns näher an die zukünftige Kompatibilität mit PHP 8.x.
-
Core Composer-Abhängigkeiten und Drittanbieter-Bibliotheken 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. Die
Magento_Tinymce3Banner
-Modul- und MFTF-Tests für TinyMCE v3.x wurden aus Adobe Commerce entfernt. -
Version 2.4.3 wurde getestet und bestätigt, dass sie mit Redis 6.0.12 kompatibel ist. (Version 2.4.x ist weiterhin mit Redis 5.x kompatibel.)
-
Die Abhängigkeiten der Laminas-Bibliothek wurden auf PHP 8.x-kompatible Versionen aktualisiert. Einige redundante Abhängigkeiten wurden aus der Datei
composer.json
entfernt. Adobe Commerce 2.4.3 verwendet Laminas 3.4.0.
Leistungsverbesserungen
Diese Version enthält Verbesserungen, die die Indexierungszeit für Produktpreis- und Katalogregelindizierer verkürzen. Händler können jetzt eine Website aus einer Kundengruppe oder einem freigegebenen Katalog ausschließen, was die Anzahl der Datensätze für die Indizierung reduziert und die Indizierungszeiten verkürzt.
Live Search
Live-Suche auf Basis von Adobe Sensei bietet eine intuitive Sucherfahrung, indem künstliche Intelligenz und Algorithmen des maschinellen Lernens verwendet werden, um eine tiefgehende Analyse aggregierter Besucherdaten durchzuführen. Siehe Versionshinweise zur Live-Suche.
GraphQL
Diese Version bietet GraphQL-Unterstützung für die folgenden Funktionen:
-
Freigegebene Kataloge
-
Wunschlisten. Die addWishlistItemsToCart-Mutation verschiebt Elemente aus der angegebenen Wunschliste in den Warenkorb des Kunden.
-
Geschenkregister. Behandelte Aufgaben:
-
Verwenden Sie die SchenkungRegistry-Abfrage, um den Inhalt der Geschenkregister des Kunden zurückzugeben.
-
Suchen Sie nach Geschenkgutscheinen anhand von Typ, E-Mail oder Kennung.
-
Erstellen Sie, aktualisieren oder löschen Geschenkgutscheine.
-
Aktualisieren Sie oder entfernen SieElemente aus einer Geschenkregistrierung.
-
Verschieben Sie alle Artikel aus dem Warenkorb in die Geschenkregistrierung.
-
Fügen Sie, update oder remove -Registrierungspflichtige aus einer Geschenkregistrierung hinzu.
-
Geben Sieeine Geschenkregistrierung für eingeladene Personen frei.
-
-
Negotiable Anführungszeichen. Siehe die Abfragen
negotiableQuote
undnegotiableQuotes
.Zu den neuen Mutationen gehören:
-
Freigegebene Routen. Die Routing-Abfrage und die 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 dieroute
-Abfrage ersetzt.
Weitere Informationen zu diesen Verbesserungen finden Sie im GraphQL-Entwicklerhandbuch .
B2B
Version 2.4.3 führt B2B v1.3.2 ein. Diese Version enthält mehrere Fehlerbehebungen. Siehe B2B-Versionshinweise.
Page Builder
Page Builder ist jetzt als gebündelte Erweiterung in Magento Open Source verfügbar. Es ist jetzt das Standard-Tool zur Inhaltsbearbeitung für Adobe Commerce 2.4.3 und Magento Open Source 2.4.3. Sie kann den WYSIWG-Editor durch ein beliebiges Drittanbietermodul ersetzen.
Der Seitenaufbau ersetzt den TinyMCE-Editor in den folgenden Admin-Bereichen:
- CMS-Seite
- CMS Block
- Kategorienbeschreibung
- Produktbeschreibung
Der gesamte Inhalt, der in TinyMCE erstellt wurde, wurde 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 ihrer kompatiblen Versionen.
Upgrade-Kompatibilitätstool
Der Umfang des Upgrade-Kompatibilitätstools wurde auf der Grundlage des Feedbacks der Community erweitert. Treten Sie unserem Slack-Kanal #upgrade-compatibility-tool bei, um Unterstützung vom Adobe-Produktteam und der Community zu erhalten und um die zukünftige Ausrichtung des Tools zu steuern.
Aktualisierungen für Cloud Managed Services
Diese Version enthält Verbesserungen unserer Unterstützung für Amazon Simple Storage Service (AWS S3) und Amazon Aurora Cloud Managed Services. Es bietet zertifizierte Unterstützung für AWS ElastiCache, AWS Elasticsearch und AWS Managed Queues (Rabbit MQ). (Wir haben die Funktionalität, Leistung und Integration dieser Dienste mit Adobe Commerce getestet.)
Adobe Stock-Integration
Diese Version beinhaltet die Adobe Stock-Integration Version 2.1.1.
Von Anbietern entwickelte Erweiterungen
In den folgenden Themen finden Sie Aktualisierungen zu Funktionen und Änderungen für diese Version:
-
Amazon Pay. Amazon Pay ist veraltet und wird in einer späteren Version 2.4.x entfernt. Version 2.4.3 und höher enthält nur Updates für Kompatibilität und Fehlerbehebungen für größere Fehler.
Behobene Probleme
Wir haben Hunderte von Problemen im 2.4.3-Kerncode behoben.
Installation, Aktualisierung, Bereitstellung
- Der Befehl
bin/magento setup:db:status
gibt jetzt eine Meldung zurück, die angibt, dass nach einer erfolgreichen Aktualisierung alles auf dem neuesten Stand ist. Zuvor wurde in der Anwendung folgender 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 waren Werte beim Neuladen des Formulars verloren und die Anwendung zeigte den folgenden Fehler:
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.
- Zuvor erstellte Preisregeln für Warenkorb werden jetzt auf der Dashboard-Seite für die Inhaltsstaging-Umgebung angezeigt, nachdem eine Bereitstellung von Magento Open Source auf Adobe Commerce aktualisiert wurde.
- Bereitstellungen, die auf dem Galera-Cluster 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 mit der Einstellungweb/seo/use_rewrites
auf 0 incore_config_data_table
installiert wurde. GitHub-32100
- Laden für
AsyncCssPlugin
wurde umsortOrder
aktualisiert. Die Anwendung lädt jetztAsyncCssPlugin
vorJsFooterPlugin
. GitHub-30882
Magento\Config\Model\Config\PathValidator
überprüft jetzt den Anzeigepfad, um festzustellen, ob ein Element vorhanden ist, und verwendet stattdessen den Pfadconfig.xml
zur Überprüfung, wenn es einen Konfigurationspfad hat. GitHub-27678
- Das Kompilieren von weniger Dateien mit Grunt oder nach serverseitiger Kompilierung liefert jetzt die gleichen Ergebnisse. Zuvor.
.abs- styles
, das andere.abs- styles
in_extends.less
erweitert, wurde beim Kompilieren mit Grunt nicht richtig ausgegeben. Dies führte zu Unterschieden zwischen Produktions- und Entwicklungsbereitstellungen. GitHub-7231
AdminGWS
- Admin GWS verwendet jetzt
int
-Werte für die SQL-Bedingungwebsite_id
in Admin-Sammlungen für Administratoren mit benutzerdefinierten Berechtigungen.
Adobe Stock-Integration
- Die Anwendung zeigt jetzt eine informative Meldung und einen Link zur Seite "Admin Stores > Konfiguration > Erweitert > System"auf der Seite "Adobe Stock suchen"an, wenn API-Schlüssel (Client-ID) und Client-Geheimnis nicht festgelegt sind. Zuvor wurde in der Anwendung der folgende Fehler angezeigt:
We couldn't find any records
und kein Link.
Backend
- Administratoren mit eingeschränktem Zugriff (z. B. die Zugriff auf eine Website erhalten) können keine Kategorien mehr bearbeiten, die auf den globalen Bereich eingestellt sind.
- Der generierte Systembericht (System > Support > Systembericht) wird jetzt korrekt wiedergegeben. Zuvor war der Berichtinhalt falsch ausgerichtet.
- Die Anwendung deaktiviert jetzt die Validierung für das Feld Preis wie erwartet, wenn die Einstellung Dynamischer Preis bei der Erstellung des Bundle-Produkts aktiviert ist. Zuvor hatte die Anwendung einen Validierungsfehler ausgegeben, wenn Sie einen Wert aus dem Feld Preis entfernt haben, wenn die Einstellung Dynamischer Preis aktiviert war. GitHub-26214
- Unendliche Umleitungen treten nicht mehr auf, wenn sich die Admin-URL von der Standard-Website-URL in Bereitstellungen unterscheidet, in denen die Anwendung so konfiguriert ist, dass sie über zwei URLs zugänglich ist.
Paketprodukte
- 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 mit temporären Tabellen ausgeführt, wodurch Datenbanktabellen nicht gesperrt werden. Zuvor verwendete die Anwendung physische Tabellen, was zu gesperrten Tabellen führte.
- Der Preis eines Bundle-Artikels kann jetzt auf 0,00 gesetzt werden. Wenn Sie zuvor zur Bearbeitungsseite zurückkehrten, nachdem Sie den Preis auf 0,00 festgelegt hatten, wurde der Preis wieder auf den Standardwert zurückgesetzt. GitHub-32383
- Bestelldetails für Bestellungen, die Bundle-Produkte enthalten, zeigen jetzt den richtigen Preis für die Bundle-Produkte an, wenn der Preis vor der Bestellung geändert wurde.
- Der Status des Produktbestands des Bundles 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 zwei Optionen mit derselben SKU hatte.
- Ein Administrator kann jetzt den Wert für das
Shipment Type
-Attribut eines Bundle-Produkts ändern, nachdem es in eine andere Attributgruppe verschoben wurde. Zuvor wurde dieses Attribut immer mit dem WertTogether
gespeichert, wenn es in eine andere Attributgruppe als die Standardgruppe im Attributsatz verschoben wurde.
- Die Mutation GraphQL
setGuestEmailOnCart
aktualisiert nun die Gastemail korrekt. Zuvor wurden die Anführungszeichen- und Anführungsadressen-Tabellen nicht aktualisiert.
- Durch das Hinzufügen, Entfernen oder Aktualisieren eines untergeordneten Produkts zu einem Bundle-Produkt über REST-API-Aufrufe wird die Neuindizierung der Trigger jetzt erwartungsgemäß durchgeführt. Bisher wurde bei diesen Aktionen keine Neuindizierung des Triggers durchgeführt. Daher änderte das Bundle-Produkt seinen Lagerstatus erst, nachdem eine manuelle Neuindizierung durchgeführt wurde.
- Die Anwendung zeigt nun die richtige Preisspanne für Bundle-Produkte mit Tier-Preisen an. GitHub-30284
- Die Anwendung zeigt jetzt denselben Gesamtpreis an wie erwartet auf der Warenkorbseite und im Versandschritt des Checkout-Workflows, nachdem sich der Preis einer Bundle-Option geändert hat.
- Sie können jetzt ein Bundle-Produkt erfolgreich konfigurieren, indem Sie über einen Kunden-Warenkorb darauf zugreifen. Zuvor wurde die Seite "Produkt konfigurieren"nie vollständig geladen und Sie konnten Ihre Einstellungen nicht speichern.
- Händler können jetzt in jeder Store-Ansicht einer Multistore-Implementierung einen eindeutigen Preis für ein Bundle-Produkt zuweisen. Website-spezifische Preise werden in der Tabelle
catalog_product_bundle_selection_price
gespeichert. Zuvor stützte die Anwendung den Preis eines Bundle-Produkts nicht auf den Website-Umfang, selbst wenn Stores > Konfiguration > Katalog > Katalog > Preis > Katalogpreisumfang aufWebsite
festgelegt war. Incatalog_product_bundle_selection_price
wurden keine Website-spezifischen Preise gespeichert. GitHub-12584
- Rechnungen für Bundle-Produkte zeigen jetzt die richtige Menge für die zugehörigen einfachen Produkte an, wenn Dynamische Preise 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 Mutation
updateProductsInWishlist
aktualisiert jetzt erfolgreich Elemente, die zu einem Bundle-Produkt in einer Wunschliste gehören. Zuvor hat diese Mutation das Element gelöscht und ein neues erstellt, durch das die Element-ID geändert wurde, anstatt das Wunschlistenelement zu aktualisieren.
- Sie können jetzt die Bundle-Attribute
required_options
undhas_options
wie erwartet festlegen, während Sie ein Bundle-Produkt mit dem EndpunktPOST /V1/product/:sku
erstellen oder aktualisieren. Zuvor wurden diese benutzerdefinierten Attribute trotz der Bemühungen, sie auf 1 (1) festzulegen, auf 0 (null) gesetzt.
- Bundle-Produktdaten, die zuvor fehlten, sind jetzt im Staging-Prozess enthalten. Dadurch werden Inkonsistenzen im Produktverhalten behoben, wenn Käufer ein Bundle-Produkt über die Produktlistenseite kauften oder es direkt über eine Produktseite hinzufügen.
Cache
- Die Datei
varnish6.vcl
wurde aktualisiert, um das Zwischenspeichern der Kundenseite zu umgehen.
CAPTCHA
- CAPTCHA validiert jetzt die von einem Käufer bereitgestellten Daten ordnungsgemäß. CAPTCHA-Felder werden nun erwartungsgemäß angezeigt, nachdem ein Käufer mehrere erfolglose Versuche unternommen hat, mit PayPal Payflow Pro auszuchecken.
- 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 Sie die Anzahl fehlgeschlagener Fertigstellungsversuche überschritten haben. Zuvor wurden die CAPTCHA-Felder nicht angezeigt, obwohl Sie von der Anwendung aufgefordert wurden, den CAPTCHA-Test erneut durchzuführen.
- CAPTCHA funktioniert jetzt wie erwartet auf der Checkout-Seite. Nachdem ein Käufer eine CAPTCHA-Aufgabe ordnungsgemäß beantwortet hatte, war der Ladevorgang auf der Checkout-Seite nie abgeschlossen und die Anwendung zeigte folgenden Fehler an:
captchaData[formId] is undefined
. (Dieser Fehler trat nur auf, wenn der Käufer denselben Browser verwendet hat, von dem aus er zuvor auf eine Bereitstellung mit 2.3.5-p1 zugegriffen hatte.)
_.isEmpty()
checkt diedefaultCaptcha.js
-Datei jetzt erfolgreich ab. Bisher wurden diese Prüfungen nicht abgeschlossen, sodass die Checkout-Seite nach der Aktualisierung nicht geladen werden konnte. GitHub-31641
Warenkorb und Checkout
- Die Anwendung berücksichtigt jetzt gebietsschemaspezifische Dezimalstellen beim Konvertieren und Aktualisieren der Produktmenge im Warenkorb.
- Bestellungen lassen den angegebenen Kundennamen nicht mehr mit einer Lieferadresse aus. Zuvor wurden Namen weggelassen, da das
same_as_billing
-Flag nicht in der Datenbank gespeichert wurde.
- Links zu Geschenkgutscheinen bleiben jetzt wie erwartet erhalten, wenn Sie ein Produkt im Warenkorb bearbeiten. Zuvor waren diese Links verschwunden, wenn Sie auf die Schaltfläche Warenkorb aktualisieren geklickt haben.
- Alle Warteschlangenmeldungen für Verbraucher
quoteItemCleaner
ändern jetzt ihren Status wie erwartet nach dem Löschen mehrerer Produkte incomplete
. Zuvor änderte nur eine Nachricht für diesen Verbraucher seinen Status incomplete
und der Rest änderte den Status inin progress
.
- Die Anwendung zeigt die Validierungsmeldung für Nutzungsbedingungen jetzt nur dann im entsprechenden Block an, wenn ein Käufer auf die Schaltfläche Bestellung aufgeben klickt. Zuvor wurde diese Meldung im Block Rabattcode anwenden angezeigt, wenn ein Käufer die Zahlungsmethode im Checkout-Workflow geändert hat:
The order wasn't placed. First, agree to the terms and conditions, then try placing your order again
.
- Sie werden jetzt wie erwartet zur Checkout-Seite weitergeleitet, nachdem Sie ein Bundle-Produkt aus der Vorschau "Schedule Update"zum Warenkorb hinzugefügt und auf den Warenkorb geklickt haben. GitHub-447
- Die Anwendung verwirft jetzt Änderungen am Formular für die Rechnungsadresse beim Zahlungsschritt, wenn der Käufer nicht auf die Schaltfläche Aktualisieren klickt und zum Versandschritt zurückkehrt.
- Die Anwendung zeigt jetzt eine informative Fehlermeldung an und aktualisiert die Produktmenge nicht, wenn ein Käufer eine ungültige Produktmenge hinzufügt und auf der Seite "Warenkorb verwalten"auf die Schaltfläche Elemente und Mengen aktualisieren klickt. Zuvor hat die Anwendung die Produktmenge aktualisiert und keine Fehlermeldung angezeigt. GitHub-459
- Produkte mit der anpassbaren Option
(File)
enthalten jetzt aktive Links wie erwartet während des gesamten Checkout-Prozesses mit mehreren Sendungen. Zuvor fehlte dieser Link. GitHub-31095
- Der Admin-Warenkorb zeigt nun Produktpreise in den richtigen Währungen für Geschäfte an, die mehrere Währungen unterstützen. Zuvor wurden die Preise mehrmals in die angegebene Währung umgerechnet - zunächst, wenn Produkte aus dem Warenkorb in den Warenkorb gelegt wurden, und dann erneut, wenn die Bestellung anschließend an den Administrator weitergegeben wurde.
- Die Anwendung leert nun den Warenkorb wie erwartet, nachdem ein Administrator eine von einem Kunden im Storefront erstellte Bestellung des Administrators abgeschlossen hat. Zuvor, als sich der Kunde nach Abschluss der Bestellung erneut anmeldete, enthielt der Warenkorb noch Bestellinhalte. GitHub-30262
- Käufer können nun ein Produkt zum Warenkorb hinzufügen, dessen Mindestpreis (MAP) den regulären Produktpreis überschreitet.
- Käufer können jetzt ihre Rechnungsadresse im Checkout-Workflow erfolgreich ändern, wenn sie mit mehreren Adressen auschecken.
- Alle von Gästen erstellten bezahlten Zahlungsvorgänge werden jetzt in der Datenbank gespeichert und wie erwartet im Admin angezeigt. Zuvor wurde nur eine kleine Teilmenge gleichzeitiger Bestellungen in der Datenbank gespeichert, und die meisten Bestellungen gingen aufgrund von Zeitüberschreitungen aufgrund von Datenbanksperren verloren. GitHub-25862
- Die Anwendung zeigt nun richtig Inline-Willkommensnachrichten 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 Willkommensnachricht angezeigt. GitHub-32250
- Die Versandseite des Checkout-Workflows wird jetzt erfolgreich geladen, wenn die In-Store-Bereitstellung aktiviert ist. Zuvor hatte die Anwendung einen JavaScript-Fehler ausgelöst und die Versandkasse wurde nicht vollständig gerendert.
- Das Argument
itemResolvers
wurde zur Katalogdateidi.xml
hinzugefügt. Daher ist der Checkout nicht mehr fehlerhaft, wenn konfigurierbare und gruppierte Produktmodule deaktiviert sind. GitHub-30860
- Die Anwendung zeigt nun die Optionsfelder im Abschnitt Zahlungs- und Versandinformationen an, wie dies während des Workflows für die Neubestellung durch den Administrator erwartet wird. GitHub-30257
- Die Anwendung wendet nun korrekt die Preisregeln für Warenkorb mit einem festen Rabatt auf Warenkorbebene an, wenn der Warenkorb ein Paket-Produkt mit mehreren Optionen enthält. Zuvor wurde die Preisregel für den Warenkorb nicht vollständig auf die Bestellung angewendet. GitHub-30952
- Die Schaltfläche Zum Warenkorb hinzufügen in der Kategorielistenansicht funktioniert jetzt erwartungsgemäß. 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 Rechnungsadressenbereich des Checkout-Workflows nicht mehr mit der Lieferadresse. Zuvor, als das Feld Bundesland/-staat für die Abrechnungsadresse leer war und sich die Versand- und Abrechnungsadressen unterschieden, füllte die Anwendung das Feld für die Abrechnungsadresse Bundesland/Provinz mit Informationen aus der Lieferadresse. GitHub-31608
Katalog
- Eine gebündelte Aktualisierung der Attribute Erhöhungen der Menge aktivieren und Erhöhungen der Menge funktioniert jetzt erwartungsgemäß. GitHub-29544
- Sie können jetzt erfolgreich einen freigegebenen Katalog duplizieren, der nur numerische SKUs enthält. Zuvor hat die Anwendung einen Fehler ausgegeben, wenn Sie versucht haben, einen freigegebenen Katalog zu duplizieren, da die
\Magento\Catalog\Model\ProductIdLocator
-Klasse bei rein numerischen SKUs nicht ordnungsgemäß funktioniert hat.
- Die Anwendung gibt keinen JavaScript-Fehler mehr aus, nachdem Sie die letzte Produktsynchronisierung mit dem Admin aktiviert haben. Zuvor wurde in der Anwendung der folgende JavaScript-Fehler angezeigt:
Cannot read property 'status' of undefined
.
- Layoutaktualisierungen für benutzerdefinierte Designs werden jetzt erwartungsgemäß angewendet. Zuvor wurden Aktualisierungen des benutzerdefinierten Design-Layouts ignoriert.
- Der Produktkategorie-Cache wird jetzt von
cron
während der Ausführung vonindexer_update_all_views
wie erwartet gelöscht. Zuvor waren die Produktzahlen auf der Seite Kategorie nach der Neuindizierung falsch.
- Attributwerte bleiben jetzt unverändert, wenn in einer Produktaktualisierungs-REST-API-Anfrage für eine Store-Ansicht kein -Attribut angegeben ist. Wenn zuvor kein Attribut angegeben wurde, setzte die Anwendung den Attributwert auf den Standardwert für den Bereich zurück.
- Das Raster "Admin-Produkte"(Admin Katalog > Produkte) zeigt jetzt die richtige Produktanzahl an, wenn Produkte nach SKU gefiltert werden.
- Die Anwendung zeigt jetzt einen genauen Lagerstatus an, wenn ein Produkt zu einer CMS-Seite hinzugefügt wird, wenn Kategorieberechtigungen aktiviert sind, und verhindert die Anzeige des Preises für die angegebene Kundengruppe. Zuvor wurden alle Produkte unabhängig vom tatsächlichen Lagerstatus als nicht vorrätig angezeigt.
- Das Feld Preisblock-Preis der erweiterten Kundengruppe hat jetzt eine Mindestbreite von fünf Stellen. Zuvor waren in diesem Feld bei der Anzeige mit niedriger Auflösung nur zwei Symbole sichtbar.
- Die Anwendung 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 der Admin-Konsole erstellen oder bearbeiten und dann eine Planungsdesign-Aktualisierung erstellen. GitHub-32007
- Ein benutzerdefiniertes Produktattribut mit einem Wert von null kann jetzt erfolgreich als leer gespeichert werden. Zuvor hat die Anwendung diesen Wert nicht auf "leer"aktualisiert.
- Die Aktualisierungsdateien für das benutzerdefinierte Kategorielayout gelten nun erwartungsgemäß für Produkte. Zuvor entsprach der Handle der Aktualisierungsdatei (
catalog_category_view_*
) nicht dem Handle des Produkts. GitHub-27285
- Die Sortierung wurde für die Spalte FPT (Fixed Product Tax) der Admin-Produktliste deaktiviert. Zuvor konnte die Produktseite nicht neu geladen werden, nachdem die FPT-Spalte sortiert wurde.
- Die Vorschau des Seiten Builder-Produkt-Widgets funktioniert jetzt in einer Bereitstellung auf mehreren Websites wie erwartet, wenn übereinstimmende Produkte auf jeder Website einen anderen Preis haben.
- Die Sortierung nach Position bei der Produktsuche mit GET
/rest/V1/products/?searchCriteria[filterGroups]
funktioniert jetzt erwartungsgemäß. Zuvor hatte die Produktsammlung keinen Wert für das Feldposition
zum Sortieren. GitHub-31591
- Administratoren können jetzt in den Feldern Name und SKU im Produktraster doppelte Leerzeichen sehen. Zuvor reduzierte die Anwendung mehrere Leerzeichen in ein einzelnes Leerzeichen.
- Produkte werden nun als nicht vorrätig auf der Storefront angezeigt, wenn die Verkaufsmenge auf der Admin-Konsole 0 beträgt. Zuvor wurden diese Produkte als auf Lager in der Storefront aufgeführt und die Anwendung zeigte eine aktive Schaltfläche Zum Warenkorb hinzufügen an. GitHub-31117
- Administratoren können jetzt Produkte mit anpassbaren Optionen
(File)
zum Raster "Artikel bestellt"im Bereich Warenkorb (Spalte "Kundenaktivitäten") der Seite Admin-Kunde 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 wurde.
- Die Anwendung fordert die Käufer nicht mehr auf, eine Produktoption für ein gebündeltes Produkt auszuwählen, das nur über eine Option verfügt.
- Die Anwendung zeigt jetzt bei der Erstellung eines neuen Widgets alle Unterkategorien in Layout-Aktualisierungen (Anker- und Nicht-Anker-Kategorien) an.
- Die
product
-Abfrage überschreibt nicht mehr Standardwerte für alle Store-Ansichten in einer Bereitstellung mit mehreren Stores, wenn ein Produktname nur für eine Store-Ansicht aktualisiert wird. GitHub-31083
- Adobe Commerce aktualisiert die Gesamtanzahl der Seiten wie erwartet, wenn Sie den Seitenwert pro Seite der Liste "Admin Related Products, Up-Sells and Cross-Sells"ändern. GitHub-31059
- Administratoren können jetzt Produkte mit zwei oder mehr anpassbaren Optionen
(File)
zu einer Bestellung durch die SKU hinzufügen.
- Die Anwendung gibt keinen Fehler mehr aus, wenn ein Administrator mit eingeschränkten Berechtigungen ein Produkt-Widget zu einer CMS-Seite in Admin hinzufügt. Zuvor gab die Anwendung diesen Fehler aus, als der Administrator auf die Schaltfläche Speichern klickte:
We are sorry, an error has occurred while generating the content
.
- Die Produktdetailseiten werden jetzt mit der anpassbaren Datumsoption geöffnet, die mit dem Datum aus der vorherigen Bestellung gefüllt wird, wenn JavaScript-Kalender verwenden aktiviert ist. Der Wertauflöser für benutzerdefinierte Datumsoptionen greift jetzt auf ein alternatives Format zurück, wenn der Wert nicht basierend auf der aktuellen Konfiguration formatiert ist. Zuvor war der benutzerdefinierte Wert für die Datumsoption leer.
- Die Anwendung zeigt jetzt nur einen Fehler im Warenkorb an, wenn das Produkt nicht vorrätig ist. Zuvor wurden in der Anwendung redundante Nachrichten angezeigt. GitHub-27469
- Administratoren können jetzt ein Produkt mit einer anpassbaren Option
(File)
zu einer Bestellung durch die SKU hinzufügen. GitHub-30285
- Sie können jetzt ein Produkt und einen Preis speichern, ohne
type_id
anzugeben. GitHub-13639
- Gruppenprodukte sind jetzt wie erwartet auf der Storefront verfügbar, wenn eine REST
PUT /V1/products/:sku/links
-Anfrage zum Verknüpfen eines neuen untergeordneten Produkts mit einem neuen Gruppenprodukt verwendet wird. Zuvor wurden Produkte nach der Ausführung vonbin/magento cron:run
nicht korrekt indiziert.
- Sie können ein Produkt mit dem SKU-Wert
NULL
nicht mehr erstellen. Zuvor konnten Sie ein Produkt ohne SKU-Wert über einen benutzerdefinierten Importer oder direkt in der Datenbank erstellen. Als Sie jedoch versuchten, es über den Administrator zu bearbeiten, gab die Anwendung einen Fehler aus. GitHub-27411, GitHub-32525
- Wenn Sie erforderliche benutzerdefinierte Optionen zu einem einfachen Produkt hinzufügen, wird es nicht mehr ohne Warnung aus übergeordneten Composite-Produkten entfernt. Die Anwendung zeigt jetzt eine informative Warnung an und speichert das Produkt nicht. Zuvor wurden die Produktänderungen von den Anwendungen gespeichert und keine Warnung angezeigt. GitHub-30492
Katalogregel
- Die
products
-Abfrage gibt jetzt die aktuellen Werte zurück, wenn eine Katalogpreisregel für ein Element gilt. GitHub-26738
- Temporäre Tabellen, die mit
catalogrule_product__temp
beginnen, werden jetzt wie erwartet gelöscht, wenn die Neuindizierung nach Ablauf eines Warenkorbs oder einer Katalogregel fehlschlägt, deaktiviert oder inaktiv wird. GitHub-22273
- Zeitzonen werden jetzt auf dieselbe Weise in
\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById
und\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds
angewendet. GitHub-29549
CMS-Inhalte
- Die Größe großer Bilder wird jetzt beim Hochladen erwartungsgemäß geändert, wenn die Konfigurationseinstellung Frontend-Größe aktivieren aktiviert ist.
- Fehlerkorrektur - Die Fehlerbehandlung für den CMS-Seitenspeichercontroller wurde korrigiert. Zuvor hat die Anwendung beim Auslösen eines
Error
-Objekts für dascms_page_prepare_save
-Ereignis dieses Objekt an dieaddExceptionMessage
-Funktion übergeben und damit den Vertrag gebrochen, da diese Funktion einenException
erwartet. Dies wurde durch Hinzufügen einer Fehlermeldung mithilfe der FunktionaddErrorMessage
behoben. GitHub-30149
- Sie können jetzt über die Registerkarte "Seitenhierarchie in CMS bearbeiten"mehreren Knoten eine neue Seite zuweisen. Zuvor kam es zu einer eindeutigen Einschränkungsverletzung, wenn Sie versuchten, die Seite einem Knoten zuzuweisen. GitHub-363
Konfigurierbare Produkte
- Die Anwendung dupliziert keine Produktminiaturansichten 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 nun korrekt Rechnungen für Bestellungen, die nur ein konfigurierbares Produkt enthalten. GitHub-31143
- Käufer können ihrem Warenkorb jetzt konfigurierbare Produkte aus einer nicht standardmäßigen Store-Ansicht hinzufügen. Wenn der Käufer in einer nicht standardmäßigen Store-Ansicht zuvor versucht hat, ein konfigurierbares Produkt hinzuzufügen, wurde in der Anwendung folgender Fehler angezeigt:
Could not add item to cart. Please check required options and try again
. GitHub-31660
Content Security Policy CSP)
- Content Security Policy unterstützt jetzt das Laden von base64-kodierten Bildern und Schriftarten über
data: scheme
.
cron
- Cron-Bereinigungs-Abfragen wurden überarbeitet, um die folgenden Leistungsprobleme zu reduzieren oder zu beseitigen:
cron
Aufträge bleiben in einem ausstehenden Zustand, immer langsamere MySQL-Abfragen und eine höhere CPU-Auslastung. GitHub-26507
cronjobs
, die seit mehr als 24 Stunden im Statusrunning
sind, werden jetzt automatisch in den Statuserror
geändert. Daher kann eine neue Instanz dieses Auftrags erneut ausgeführt werden. Sie müssen den Auftragsstatus nicht manuell ändern, wenn ein Auftrag fälschlicherweise auf den Statusrunning
festgelegt bleibt. Wenn zuvor einecronjob
im Statusrunning
hängen geblieben war, verhinderte die Anwendung, dass neue Instanzen desselben Auftrags gestartet wurden, und Sie mussten den Auftragsstatus manuell ändern. GitHub-8933
cron
Aufträge werden nun erwartungsgemäß abgeschlossen und dieser Serialisierungsfehler wird nicht mehr ausgegeben:[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 Ausführen wird als Fehler in dercron_schedule schedule
markiert und der nachfolgende Ausführen schlägt nicht automatisch fehl. Zuvor wurde die Tabellecron_schedule
mit ausstehenden Aufträgen und der Cron-Auftragindexer_update_all_views
nicht ausgeführt. GitHub-23054
cron
-Deadlocks treten nicht mehr auf, weilcron
versucht hat, in großen Bereitstellungen, in denen Gruppen überlappten, eine Sperre einzurichten. GitHub-8933
cron
Deadlocks treten nicht mehr auf dercron_schedule
Tabelle auf, nachdem nur einige wenigecron
Aufträge ausgeführt wurden. GitHub-22438
Benutzerdefinierte Kundenattribute
- Das Feld Bundesstaat im Adressbuch des Storefront-Kundenkontos wird jetzt als geladen und bleibt ein Dropdown-Seitenelement. Die Schaltfläche Senden ist jetzt deaktiviert, bis alle Seitenelemente vollständig geladen wurden. Zuvor hat die Anwendung dieses Feld als Textfeld geladen, bevor es als Dropdown-Element gerendert wurde. Käufer konnten Werte in das Textfeld eingeben und speichern, was später beim Checkout zu einem Fehler führte.
- Die Anwendung zeigt jetzt benutzerdefinierte Kundenadressattribute sowohl auf Storefront- als auch auf Admin-Bestellseiten korrekt an. Zuvor fehlte die ausgewählte Option des Dropdown-Attributs im Abschnitt Adressinformationen , und der Wert des Eingabeattributs enthielt den Attributcode. GitHub-508
- Die Anwendung gibt keinen Fehler mehr aus, wenn Sie beim Hochladen von Dateien ein Kundenadressattribut mit einer Dateianlage im Feld "Admin-Kundenadresse"speichern. Dies ist auf eine fehlende Rückgabeanweisung in der Controller-Aktion zurückzuführen. Zuvor hatte die Anwendung den folgenden Fehler ausgegeben:
Something went wrong while saving the file
.
- REST GET Warenkorb-API-Aufrufe geben jetzt korrekte benutzerdefinierte Attributwerte für Abrechnungs- und Versandadressen zurück. Zuvor wurden benutzerdefinierte Adressattribute auf der Seite mit Bestelldetails auf der Storefront "Mein Konto"und in "Admin"falsch angezeigt.
- Die Anwendung verarbeitet jetzt erfolgreich Dateien, die Attribute von Kundenadressen mit dem Eingabetyp
file (attachment)
enthalten. Zuvor hat das Programm diesen Fehler beim Hochladen der angehängten Datei ausgegeben:Something went wrong while saving the file
.
Kunde
- Die E-Mail-Adresse für das Kundenkonto berücksichtigt jetzt den ausgewählten Umfang und wird von der richtigen E-Mail-Adresse gesendet.
- Beim Filtern nach dem Erstellungsdatum des Kontos werden jetzt Ergebnisse erzeugt, die den konfigurierten Zeitzoneneinstellungen entsprechen und alle relevanten erstellten Konten erfassen.
- Der Kunden-Rasterfilter verwendet jetzt eine korrekte Website-Option für einen eingeschränkten Benutzer, wenn die Daten zuvor zwischengespeichert wurden. Zuvor wurden mit dem Kundenraster-Filter Website-Parameter aus dem Cache abgerufen und falsche Daten für eingeschränkte Benutzer eingefügt.
- Die Anwendung löst auf der Seite "Admin-Kunden"keine Ausnahme mehr aus, wenn eine Website in einer Bereitstellung mit mehreren Websites gelöscht wird. Zuvor, als ein Administrator versuchte, auf die umfassende Kundenliste zuzugreifen, zeigte die Anwendung nicht alle Kunden an und zeigte folgenden Fehler an:
The website with id 2 that was requested wasn't found. Verify the website and try again
.
- Administratoren mit Berechtigung können Kunden jetzt über die Registerkarte Kontoinformationen des Kunden verschiedenen Websites erneut zuweisen.
- Sie können jetzt eine Datei erfolgreich hochladen, wenn Sie ein Kundenadressattribut mit dem Eingabetyp "
(File)
"erstellen. Zuvor hatte die Anwendung beim Versuch, eine Datei hochzuladen und zu speichern, den folgenden Fehler ausgegeben:Something went wrong while saving the file
.
Kundensegment
- Die Anwendung zeigt jetzt verwandte Produkte basierend auf Kundensegmenten auf der Storefront wie erwartet an. Zuvor zeigte die Anwendung diesen Abschnitt nicht an, als eine Regel für verwandte Produkte für bestimmte Kundensegmente erstellt wurde.
- Dynamische Blöcke werden nun für registrierte Kunden in ihrem Warenkorb angezeigt, wenn das entsprechende Kundensegment sowohl für Gäste als auch registrierte Kunden angewendet wird. Zuvor wurde der Block in der Anwendung nur für Gäste angezeigt.
- Kundensegmente werden jetzt automatisch aktualisiert, nachdem vom Administrator eine Bestellung aufgegeben wurde. Zuvor musste der Admin-Benutzer nach der Erstellung einer Admin-Bestellung die zugehörigen Segmentdaten manuell aktualisieren, indem er zu den zugehörigen Kundensegmenten navigierte und auf die Schaltfläche Segmentdaten aktualisieren klickte.
- Die Anwendung zeigt nun dynamische Bausteine im Warenkorb für alle Kunden in den relevanten Kundensegmenten an. Zuvor wurde den Gästen kein Block angezeigt, selbst wenn das Kundensegment sowohl Gäste als auch registrierte Kunden umfasste.
- Probleme mit der Datenbankleistung, die sich aus den Segmentierungsregeln der Kunden mit der Bedingung
Product was Ordered
ergeben, wurden behoben.
- Es wurde ein Kundensegment-Ereignisbeobachter für die REST/SOAP-API hinzugefügt. Daher werden Kundensegmente jetzt wie erwartet automatisch aktualisiert, wenn die in den Segmenten definierten Kriterien übereinstimmen, wenn Bestellungen über die REST/SOAP-API aufgegeben werden.
- Für GraphQL-Anforderungen wurde ein Kundensegment-Ereignisprozessor hinzugefügt. Zuvor wurden Rabatte für Warenkorbpreise nicht auf den Warenkorb angewendet, wenn ein Kundensegment in einer Preisregel für den Warenkorb verwendet wurde. GitHub-371
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
- Das Programm zeigt jetzt in der E-Mail für neue Bestellungen Links zu herunterladbaren Produkten an, wenn die Bestellung sowohl ein herunterladbares Produkt als auch ein konfigurierbares Produkt mit einer herunterladbaren Option enthält. Zuvor wurde in der Anwendung der Link zum herunterladbaren Standalone-Produkt, aber nicht der Link zum konfigurierbaren Produkt mit einer herunterladbaren Option angezeigt.
Dynamischer Block (früher Banner)
- Dynamische Blöcke werden jetzt nur auf der angegebenen Seite angezeigt. Zuvor wurden in der Anwendung alle Banner angezeigt, die dem Widget zugewiesen waren, wenn keine dynamischen Blöcke angegeben wurden.
- Dynamische Bausteine können jetzt mit leeren Inhalten gespeichert werden.
EAV
- Datumswerte für Kundenadressen-Attribute werden jetzt im vierstelligen anstelle 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 zum Zurücksetzen des Administratorkennworts verwendet wurde, zeigte die Anwendung diese Meldung an, wenn 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 vom Administrator funktioniert jetzt ordnungsgemäß, wenn diese auf Store-Ansichtsebene aktiviert sind. Zuvor sendete die Anwendung keine E-Mails von Kunden, wenn die E-Mail-Benachrichtigungseinstellungen auf Store-Ansichtsebene, aber nicht auf globaler Ebene aktiviert waren.
- Das Programm sendet jetzt E-Mails wie erwartet in Multi-Site-Bereitstellungen, bei denen nicht alle Websites den asynchronen E-Mail-Versand aktiviert haben. Bisher wurde, wenn diese Einstellung für mindestens eine Website deaktiviert war, keine E-Mail von einer Website gesendet, selbst wenn diese aktiviert war. E-Mails mit Rechnungen, Sendungen und Credit Memo hatten ähnliche Probleme. Die E-Mails zu Bestellkommentaren, Rechnungskommentaren, Versandkommentaren und Credit Memo Comments wurden jedoch erfolgreich gesendet. GitHub-31950
- Die E-Mail-Nachricht, die die Anwendung sendet, wenn Sie eine Geschenkregistrierung vom Administrator freigeben, enthält jetzt einen gültigen Link zum Registrierungsspeicherort. Zuvor führte die Verwendung dieses Links zu einem 404-Fehler. GitHub-504
- Rechnungen und PDF enthalten nun für Bundle-Produkte die erwarteten Preise. Zuvor enthielten die PDF den falschen Preis für Bundle-Produkte. GitHub-12856
- Der Filtermethode für E-Mail-Vorlagen wurde die Umwandlung von Zeichenfolgen hinzugefügt, um sicherzustellen, dass der Rückgabewert
string
ist. Zuvor gab die Anwendung einphrase
-Objekt zurück, wenn eine Ausnahme erfasst wurde, während sie sich nicht im Entwicklermodus befand. Dies löste wiederum einen tödlichenUncaught TypeError
aus. GitHub-32671
- Bestellbestätigungs-E-Mails werden jetzt erwartungsgemäß gesendet, wenn der asynchrone Versand auf einer Website in einer Bereitstellung mit mehreren Sites aktiviert ist (Stores > Konfiguration > Vertrieb > E-Mails für Vertrieb > Allgemeine Einstellungen > asynchrones Senden). GitHub-31950
- Die Anwendung protokolliert jetzt einen Fehler wie erwartet, wenn eine Ausnahme auftritt, wenn ein Kunde versucht, eine E-Mail aus dem Kontaktformular zu senden. GitHub-23645
Frameworks
- Übergeordnete Klassen in Admin werden jetzt auf document-block-Anmerkung zusammen mit der ursprünglichen Klasse und den geerbten Schnittstellen überprüft. Da die übergeordneten Klassen zuvor nicht überprüft wurden, führte die Durchführung von kundenbezogenen Aktionen im Admin, die ein Ereignis auslösten, zu einem Fehler. Die Anwendung protokollierte diesen Fehler im Ausnahmeprotokoll:
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 die Zwischenspeicherung von Redis-Seiten aktiviert ist.
- Die Anwendung berücksichtigt jetzt die Einstellung Medienordner aus Sicherung ausschließen , wenn die Sicherung 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 // formatiert war.
- Die Anwendung übersetzt jetzt alle übersetzbaren Zeichenfolgen wie für die Admin-Warenkorbseite erwartet. Zuvor kam es zu spät zum Übersetzungsladevorgang und übersprungen alle Beobachter, die vor dem Versand eine Kontrollaktion abonniert hatten. GitHub-31849
- Die Formularüberprüfung auf der Seite "Neues Kundenkonto erstellen"funktioniert jetzt erfolgreich, wenn die Einstellung Als Kunde anmelden die Erweiterung aktiviert hat. Zuvor hatte die Anwendung einen JavaScript-Fehler ausgelöst.
- Die Verwendung von
bin/magento setup:db-schema:split-sales
zum Verschieben von Datenbanktabellen funktioniert jetzt erwartungsgemäß. Tabellen werden jetzt korrekt erstellt und mit Daten gefüllt. Da die Prüfung auf TabellenExistenz zuvor fehlerhaft war, hat die Anwendung bei der Ausführung vonbin/magento setup:db-schema:split-sales
SQLSTATE
Fehler ausgelöst.
- Die Ausnahmebehandlung für untergeordnete Prozesse, die durch
ProcessManager
gefälscht wurden, wurde verbessert. Wenn jetzt eine Ausnahme auftritt, wird der Hauptprozess beendet und eine Fehlermeldung wird nur einmal angezeigt. Zuvor wurden mehrere Indexer-Fehler protokolliert und mehrere Nachrichten angezeigt. GitHub-30622
- Globale Adobe Commerce-Plug-ins (z. B.
webapi_rest
undgraphql
) werden nicht mehr für einen neuen benutzerdefinierten Bereichstyp 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 enthalten jetzt einen 500-Antwortcode.
- Händler können jetzt ein Bild anhand einer Store-Ansicht einem Katalogereignis zuweisen oder daraus löschen. Wenn Sie zuvor die Store-Ansicht beim Bearbeiten eines Katalogereignisses geändert haben, war das Kontrollkästchen Bild löschen nicht aktiv und die Anwendung zeigte folgenden Fehler an:
Uncaught ReferenceError: toggleValueElements is not defined at HTMLInputElement.onclick
. GitHub-364
- Der letzte Handler, der in eine
communication.xml
-Datei zusammengeführt wurde, überschreibt nicht mehr alle zuvor erstellten Handler. GitHub-29528
Allgemeine Fehlerbehebungen
- Die Anwendung zeigt nun die richtige Anzahl von Sternen auf der Seite "Meine Produktüberprüfungen"und auf der Seite "MyAccount"aktuelle Bewertungen an. Zuvor führte die Anwendung nur die erste Überprüfung durch und ließ die anderen Überprüfungen auf der Seite unangefangen bleiben.
- Kontolinks in Kopfzeilen folgen jetzt den WCAG-Standards. Zuvor enthielten Kontolinks in Kopfzeilen duplizierte IDs, was dazu führte, dass die WCAG-Validierung fehlschlug.
- Die Anwendung speichert jetzt Katalogereignisdaten in UTC-Zeitzonen. Zuvor speicherten die Anwendungen Katalogereignisdaten in der Zeitzone des Benutzers.
- Die Anwendung gibt keine vom Systemprotokoll generierten Fehler mehr aus, wenn ein Gastkäufer eine ungültige Adresse verwendet. Zuvor hat die Anwendung gelegentlich diesen Fehler angezeigt, anstatt die Seite zu rendern:
No such entity with addressId
. GitHub-15115
- Der Bildgrößenprozess wird für Bilder in nicht unterstützten Formaten nicht mehr angehalten. Zuvor, als
catalog:images:resize
ein nicht unterstütztes Bildformat auftrat, wurde der Prozess angehalten und der Fehler wurde in der Anwendung angezeigt:bin/magento catalog:images:resize Unsupported image format
.
- Die Unterstützung von WEBP und AVIF für Logo-Bilder wurde dem Admin hinzugefügt. GitHub-32495
- Sie können den Umfang des Attributs
media_gallery
nicht mehr ändern. Zuvor gab die Anwendung einen Fehler aus, als Sie den Umfang des Attributsmedia_gallery
wieder aufglobal
änderten.
- Zugehörige Produkte, die als geplante Aktualisierung hinzugefügt wurden, werden nach dem Enddatum der Aktualisierung nicht mehr auf einer Storefront-Produktseite angezeigt. GitHub-469
- Die Anwendung zeigt jetzt eine genaue, informative Meldung an, wenn Sie auf der Seite "Registrierung für Mein Kontogiftkonto"auf Elemente verwalten klicken und Registrierungsprodukte nicht mehr vorrätig sind. Zuvor hatte die Anwendung den folgenden Fehler ausgegeben:
Error: Call to a member function getId() …
. GitHub-490
- Sie können jetzt wie erwartet von der Seite Neue Seite hinzufügen eine CMS-Seite zur Stammhierarchie der Website hinzufügen.
- Die Filterung funktioniert jetzt wie erwartet in der Liste der geplanten Exporte, wenn der Entitätstyp ausgewählt ist. Zuvor funktionierte der Filter nicht und die Anwendung verursachte einen JavaScript-Fehler. GitHub-361
- Kategoriebilder werden jetzt erwartungsgemäß aus dem Ordner
catalog/tmp/category
in den Ordnercatalog/category
kopiert, wenn Kategorien mithilfe der Datenbankspeichermethode gespeichert werden. Die Bildzeile in der Tabellemedia_storage_file_storage
hat jetzt auch die richtigedirectory_id
. GitHub-11995
- Händler werden jetzt über ungültige Caches wie erwartet benachrichtigt, nachdem sie Änderungen an der CMS-Hierarchie gesendet haben. Zuvor hat die Anwendung Caches beim Speichern der CMS-Hierarchie 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 zu einer erneuten Ladezeit des Warenkorbs geführt hat.
- Es wurde eine Validierung für URLs hinzugefügt, um zu verhindern, dass reservierte Wörter in URL-Schlüssel aufgenommen werden. Siehe Definieren bekannter Uniform Resource Identifiers (URIs)
- Bei Implementierungen, die PHP 7.4 ausführen, gibt die Anwendung jetzt einen 404-Fehler zurück, wenn die Einstellung Kategorie/Produkt-URL generieren auf Nein gesetzt ist und ein Käufer versucht, auf einen nicht vorhandenen Kategoriepfad zuzugreifen. Zuvor gab die Anwendung einen 500-Fehler mit folgender Angabe zurück:
Trying to access array offset on value of type bool
. GitHub-31984
- Sie können jetzt ein Produkt erfolgreich bearbeiten, das mit einem Attributsatz erstellt wurde, aus dem die Gruppen Design Group And Schedule Design Update entfernt wurden. Zuvor hatte die Anwendung beim Versuch, ein Produkt zu bearbeiten, das aus diesem Attributsatz erstellt wurde, einen schwerwiegenden Fehler ausgegeben. GitHub-44
nowdoc
hatheredoc
imMagento_Backend
Store-Umschalter ersetzt. GitHub-32262
- Administratoren werden nun nach der Anmeldung direkt zur angeforderten Admin-Seite weitergeleitet. Bisher wurden Administratoren, die sich angemeldet hatten, zum Admin-Dashboard weitergeleitet (oder zu der Seite, die als Startseite konfiguriert wurde) und mussten manuell zu ihrem Ziel navigieren. GitHub-31042
- Die Regionen Argentinien, Bolivien, Chile, Ecuador, Guyana, Paraguay, Peru, Suriname und Venezuela wurden in den
directory_country_region
-Tisch aufgenommen. GitHub-31169
- Die Regionen Albanien, Dänemark, Griechenland, Island, Portugal und Schweden wurden zur Tabelle
directory_country_region
hinzugefügt. GitHub-31040
- Nachrichten werden jetzt in der Warteschlange der MySQL-Nachricht als Fehler markiert, wenn Ausnahmen auftreten. GitHub-18140
- Die Anwendung verweist jetzt beim Laden von Steuerinformationen für das Admin-Kreditmemo und die Rechnungsseiten auf das richtige Klassenobjekt. GitHub-31197
- Die Integration von Royal Mail Click & Drop funktioniert jetzt erwartungsgemäß. Zuvor hat die Anwendung diesen Fehler ausgegeben, als Sie versucht haben, diese Integration zu aktivieren:
Sorry! Something went wrong. Please try again later
. GitHub-28996
- Der Antrag zeigt jetzt eine informative Fehlermeldung an, wenn eine falsche Sendung, ein falsches Kreditprotokoll oder eine Rechnungskennung in einer URL übergeben wird. Zuvor hatte die Anwendung einen schwerwiegenden Fehler ausgelöst. GitHub-30424
- Die Wiederholung am Speicherort statischer 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 endlosen Rekursion. GitHub-31530
- Der Name der Datei
cms_index_noroute.xml
wurde aufcms_noroute_index.xml
korrigiert. GitHub-31300
- Die Datei
.editorconfig
wurde überarbeitet, um die automatische Formatierung vondb_schema_whitelist.json
-Dateien zu korrigieren. GitHub-31171
- Wenn Sie die Größe eines Browserfensters ändern, werden keine Trigger mehr mit Binden-Lupen-Ereignissen dupliziert. GitHub-30788
- Die Anwendung gibt beim Filtern von
Magento\Users\Model\ResourceModel\Users\Collection
nachuser_id
keine SQL-Ausnahme mehr aus. GitHub-31216
Geschenkkarten
- Ausstehende Zahlungsgebühren werden nun wie erwartet aus einer Geschenkkarte entfernt, wenn eine Geschenkkarte annulliert wird. Zuvor gab die Anwendung einen Fehler aus, als
cron
ausgeführt wurde, nachdem die Geschenkkarte gelöscht wurde.
- Käufer können jetzt Geschenkgutscheine aus einer Bestellung auf der Seite "Bestellung überprüfen"entfernen, wenn sie mit mehreren Adressen auschecken. Zuvor hat die Anwendung die Geschenkkarte nicht aus der Bestellung entfernt, als der Käufer die Karte ausgewählt und dann auf Entfernen geklickt hat.
- Der Antrag zeigt jetzt den neuen Preis einer Geschenkkarte im Warenkorb an, wenn Sie den Wert der Geschenkkarte nach dem Hinzufügen des Warenkorbs ändern.
- Die Validierungslogik für Preisbereiche wurde der Seite zur Erstellung von Geschenkkarten 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 Anforderung keinen Wert fürallow_open_amount
enthält.
Geschenknachricht
- Die
setGiftOptionsOnCart
-Mutation erstellt nun korrekt Geschenkmeldungen. GitHub-388
Gift-Registry
- Ereignisdatum -Werte sind jetzt auf der Storefront und beim Erstellen oder Bearbeiten einer Geschenkregistrierung mit dem Admin identisch. Bisher hat die Anwendung jedes Mal, wenn Sie die Geschenkregistrierung bearbeitet und gespeichert haben, das Ereignisdatum einen Tag rückwärts auf der Storefront und dem Administrator angepasst. GitHub-466
- In der Anwendung werden deaktivierte Produkte nicht mehr in Geschenkregistern angezeigt. Wenn zuvor ein Produkt deaktiviert wurde, nachdem es zu einer Geschenkregistrierung hinzugefügt wurde, zeigte die Anwendung diese Meldung an, wenn ein Käufer auf die Registrierung zugegriffen hat:
Error: Call to a member function getId() …
. GitHub-510
Geschenkverpackung
- Die Übersetzung von Geschenkverpackungsbeschriftungen für Store-Ansichten funktioniert jetzt erwartungsgemäß.
- Die Geschenkverpackung wird nun erwartungsgemäß angewendet, um Bestellungen an mehrere Adressen zu senden.
- Mit dem Programm werden jetzt die Geschenkverpackungsgebühren aus dem Warenkorb entfernt, wenn alle Produkte entfernt wurden.
- Die Gesamtsummen der Credit Memo sind nun korrekt, wenn das Kreditmemo Geschenkverpackungen und konfigurierbare Produktgebühren enthält. Zuvor war der Steuerbetrag für Geschenkverpackungen nicht immer in der Gesamtsumme der Gutschriften enthalten. GitHub-34
Google Analytics
- Die Anwendung gibt keinen Fehler mehr aus, wenn ein Administrator versucht, eine Seite auf der Storefront zu laden, wenn Google Analytics aktiviert ist. Ein CSP-Eintrag für
connect-src
wurde hinzugefügt, um AJAX Anfragen to www.google-analytics.com zu ermöglichen. GitHub-30880
Google Tag Manager
- Die UI-Komponente für die Rechnungsadresse auf der Zahlungsseite des Checkout-Workflows verwendet jetzt die Anführungsadresse richtig, wenn Google Tag Manager aktiviert ist. Zuvor trat auf der Zahlungsseite ein JavaScript-Fehler auf.
GraphQL
- Die GraphQL
products
-Abfrage gibt jetzt Attributoptionen zurück, die in derselben Sortierreihenfolge wie auf der Attributbearbeitungsseite verwendet werden.
- Die Antwort auf die
{ category(id: 2){ children { name children { name } } } }
GraphQL-Anfrage enthält jetzt eine korrekt sortierte Kategoriestruktur.
- Das Objekt
CartItemPrices
enthält jetzt das neue GraphQL-Feldfixed_product_taxes
, das ein Array der festen Produktsteuern zurückgibt, die auf ein Warenkorbelement angewendet werden. Zuvor waren feste Produktsteuern, die auf einen Warenkorb angewendet wurden, nicht in der Warenkorbabfrage enthalten.
- Leere Anforderungen 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 Mutation
applyRewardPointsToCart
aktualisiert jetzt die Gesamtsumme des Warenkorbs, um den Wert der abgezogenen Bonuspunkte 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-Methode
setShippingAddressesOnCart
verwenden, um Abrechnungs- 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
-Objekt enthält. GitHub-31086
- Die GraphQL
product
-Abfrage gibt jetzt die richtigen Kundengruppenpreise zurück.
- Die GraphQL
products
-Abfrageantwort sortiert nun Aggregationen nach der Produktattributposition.
- Die Anwendung gibt bei GraphQL-Abfragen keine Typfehler mehr aus, wenn Produkt- und Kategorie-URL-Suffixe Nullwerte enthalten. GitHub-30909
- Das Objekt
CustomizableDateValue
enthält jetzt das Attributtype
. Sein Wert ist eine Auflistung, die auf DATE, DATE_TIME oder TIME gesetzt werden kann.
- Die
dynamicBlocks
-Abfrage gibt den Inhalt der dynamischen Blöcke zurück, die mit den angegebenen Filtern übereinstimmen.
- Die POST
V1/products/special-price-delete
-Anfrage löscht jetzt nur den Preis mit dem angegebenenstore_id
wie erwartet. Zuvor wurden bei dem Aufruf alle Sonderpreise für die angegebene SKU aus allen Stores entfernt. GitHub-25907
- Fehlerkorrektur - in der
createGiftRegistry
-Mutation tritt kein Fehler mehr mit dem Attributcountry_code
auf.
- Es wurden Probleme mit dem Attribut
giftRegistryUid
der MutationupdateGiftRegistryItems
behoben.
- Es wurde eine zusätzliche Prüfung hinzugefügt, um zu verhindern, dass die
updateGiftRegistryRegistrants
-Mutation verwendet wird, um zufällige Personen als Registrierungspflichtige zu einer Geschenkregistrierung 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 besondere Preisdauer für ein künftiges Datum festgelegt wird. GitHub-30210, GitHub-29631
- Die
customer
-Abfrageantwort enthält jetzt dastotal_giftcard
-Attribut als Teil desOrderTotal
-Objekts.
- Korrektur eines Problems, das dazu führte, dass die
products
-Abfrage fehlerhafte Informationen zu Preisklassen für Artikel zurückgab, für die kein Tier-Preis 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 (1) festzulegen, auf 0 (null) gesetzt.
Import/Export
- Der Filter Kategorie-IDs für Produktentitäten im Raster Entitätsattribute exportieren funktioniert jetzt erwartungsgemäß.
- Der Status des gruppierten Produktbestands wird jetzt wie erwartet auf nicht vorrätig aktualisiert, wenn alle untergeordneten Produkte nicht vorrätig sind. GitHub-32647
- Der konfigurierbare Status des Produktbestands wird jetzt automatisch wie erwartet aktualisiert, wenn der Status des untergeordneten Produktbestands durch den Import aktualisiert wird. Zuvor wurde der Status des Produktbestands nicht automatisch aktualisiert, wenn der Status des Produktbestands durch den Import aktualisiert wurde.
- Sie können jetzt leere Werte in einem geplanten Export speichern. Zuvor aktualisierte die Anwendung leere Filterwerte nach der Erstellung oder dem Speichern des Exports. Sowohl die Werte
no
als auchnot specified
wurden in der Datenbank durch null dargestellt und der Wertnot selected
wurde mitno
überschrieben.
- Der Exportprozess berücksichtigt jetzt den Umfang der Benutzerrollen beim Export von Produkten, Lagerquellen und Kundenentitäten. Zuvor wurde beim Export der Benutzerrollenbereich ignoriert, was den Export von Entitäten für Benutzerrollen ermöglichte.
- Die Anwendung setzt die Produktsteuerklasse jetzt auf "
None
", wenn ein Produkt mit dentax_class_name
-WertenNone
oder0
importiert wird. Zuvor erstellte die Anwendung, wennproduct tax_class_name
in der CSV-DateiNone
war, eine neue SteuerklasseNone
, die die vorhandene Steuerklasse duplizierte. Wennproduct tax_class_name
0
in der CSV-Datei war, ignorierte die Anwendung diesen Wert und die Produktsteuerklasse änderte sich nach dem Import nicht.
- Administratoren können jetzt die
name
derbundle_values
eines Bundle-Produkts erfolgreich vom Administrator ändern. Zuvor zeigte die Anwendung das Produkt auf der Storefront als nicht vorrätig an, nachdem Sie den Namen von Admin geändert haben. Produkte wurden auch mit derselben SKU in einem Abschnitt mit einer Bundle-Option zusammengeführt.
- Die Anwendung berücksichtigt jetzt den Benutzerumfang beim Exportieren von Kundendaten. Als Sie zuvor versucht haben, Kunden zu exportieren, exportierte die Anwendung Kundendaten von allen Websites.
- Die Anwendung entfernt jetzt Produktbeziehungen zwischen Upsell-, Cross Sell- und verwandten Produkten während des CSV-Dateiimports, wie erwartet, wenn in der CSV-Datei
__EMPTY__VALUE__
angegeben ist.
- Das Exportieren benutzerdefinierter Adressdaten für viele Kunden (Admin System > Export) führt nicht mehr routinemäßig zu einem Speicherfehler. Beim Export benutzerdefinierter Adressdaten versuchte die Anwendung bisher, alle Kundendaten zu laden, was zu einer Speicherbelegung führte, und die Anwendung verursachte einen Fehler bei der Zuordnung des Speichers.
- Die Preise für doppelte Ebenen werden während des standardmäßigen CSV-Importvorgangs nicht mehr importiert. Früher fehlte die Validierung, um den Import doppelter Tier-Preise zu verhindern, und wenn doppelte Tier-Preise eintraten, konnten Händler keine Produkte sparen. Händler sahen diesen Fehler auch, als sie versuchten, eine Produktänderung zu planen:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry…
.
- Alle Produktbilder werden jetzt beim Import validiert. Zuvor validierte die Anwendung nur das erste Bild, wenn ein Produkt mehrere Bilder hatte. GitHub-28236
- Sie können jetzt eine Region wie beim Import erwartet aus einer Kundenadresse löschen. Zuvor änderte sich die zugewiesene Region nicht, wenn eine Kundenadresse mit einer leeren Region importiert wurde.
- Produkte mit JSON- oder HTML-Inhalt 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 beendet jetzt mit einem Fehler, wenn ein untergeordneter Prozess fehlschlägt. Zuvor wurde Process Manager immer erfolgreich beendet, wenn die Anzahl der an ihn übergebenen Funktionen (z. B. Indexerdimensionen) unter dem Wert der Umgebungsvariablen
MAGE_INDEXER_THREADS_COUNT
lag. GitHub-30964
- Produkte sind jetzt wie erwartet in Storefront-Suchergebnissen verfügbar, wenn Produkte über eine REST-PUT
/V1/products/:sku/links
-Anfrage verknüpft werden, wenn der Indexmodus auf Auf Speichern aktualisieren eingestellt ist.
- Der Indexer für die Katalogpreisregel funktioniert jetzt erwartungsgemäß, wenn der Indexmodus auf Auf Speichern aktualisieren eingestellt ist. GitHub-370
- Das Löschen einer deaktivierten Kategorie, die kein Produkt enthält, hat jetzt keine Auswirkungen 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 unterschiedliche Entitätsspaltennamen verwenden. Zuvor verwendete der Datenbank-Trigger den Spaltennamen aus dem Indexer, der zuletzt auf "Aktualisieren nach Zeitplan"festgelegt wurde, und nicht den vorgesehenen Indexer. GitHub-21853
- Die Anwendung sendet keine AJAX Anfragen mehr, um von der Anfrage nicht betroffene Kundendatenabschnitte (
Magento_Customer/js/section-config
) neu zu laden. GitHub-31948
- Die folgenden Indexer werden nicht mehr invalidiert, nachdem Sie Produkte in einer Kategorie hinzugefügt, entfernt oder neu angeordnet haben:
catalog_category_product
undcatalogsearch_fulltext
(und ihre abhängigen Elemente). Bisher wurde durch diese unbeabsichtigten Entfernungen eine vollständige Neuindizierung von Sites ausgelöst. Eine vollständige Neuindizierung ist jetzt unter diesen Bedingungen verhindert, wenn der flache Katalog nicht aktiviert ist.
Infrastruktur
- Die Abhängigkeit
pelago/emogrifier
wurde von Version 3.1.0 auf Version 5.0.0 aktualisiert. Diese Aktualisierung führte zur Einführung rückwärtsinkompatibler Änderungen an derMagento\Email\Model\Template\Filter
-Klasse. Der geänderte Code wird beim Rendern von E-Mail-Vorlagen ausgeführt. Siehe BIC-Referenz.
- 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. Die
Magento_Tinymce3Banner
-Modul- und MFTF-Tests für TinyMCE v3.x wurden aus Adobe Commerce entfernt.
- Die Anwendung erzeugt im Kontaktformular keinen
Invalid header value detected
-Fehler mehr, wenn ein Käufer eine E-Mail-Adresse eingibt, die französische diakritische Zeichen (wie "é", "è") enthält. Die Anwendung konvertiert jetzt UTF-8-Buchstaben im Benutzernamen in ASCII-Kodierung. Zuvor wurden UTF-8-Buchstaben 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 Dateien README.md für diese Module wurden aktualisiert:
Magento_Msrp
,Magento_MsrpConfigurableProduct
,Magento_MsrpGroupedProduct
,Magento_Multishipping
,Magento_MysqlMq
. GitHub-32577
phpcpd
wurde auf Version 6.0.3 aktualisiert, um die Kompatibilität mit PHP 8 zu gewährleisten.
ramsey/uuid
wurde für die Kompatibilität mit PHP 8.0 aktualisiert. GitHub-31777, GitHub-826
colinmollenhour/php-redis-session-abstract
wurde auf Version 1.4.4 aktualisiert, um die Kompatibilität mit PHP 8 zu gewährleisten. GitHub-32709
- Fehlerkorrektur - Eine ungültige Kombination von Registerkarten und Leerzeichen in der Datei
phpstan.neon
wurde korrigiert. GitHub-31239
- Die Verwendung der veralteten Eigenschaft
$_isScopePrivate
in der gesamten Codebasis wurde entfernt. GitHub-30506
- Seitenlayouts sind in nicht mehr fest codiert
Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container
. Daher gibt die FunktiongetPageLayouts()
jetzt die tatsächliche Liste der Seitenlayouts zurück, die von den verschiedenen Modulen wie erwartet deklariert wurden. Zuvor wurden nur hartcodierte Layouts zurückgegeben. GitHub-31168
- Die Datei "
composer.lock
" wurde auf die neueste Version von Coding Standard aktualisiert. GitHub-31152
- Es wurde eine fehlende Abhängigkeit vom
web-token/jwt-framework
-Paket zummagento/module-jwt-framework-adapter
hinzugefügt. GitHub-32578
- Passive Listener wurden zur
fotorama.js
-Bibliothek hinzugefügt, um die Bewertung der Leuchtturmmetriken zu verbessern. GitHub-31140
- Die Datei README.md für das Google Analytics-Modul wurde aktualisiert. GitHub-32616
- In abgespalteten Prozessen verarbeitet Process Manager jetzt Ausnahmen ordnungsgemäß. Der Hauptprozess wird jetzt beendet und die Anwendung zeigt jetzt nur einmal eine Fehlermeldung an. Außerdem werden die Ausnahmen von den abgespalteten Prozessen jetzt behandelt, wenn sie im Hauptprozess ausgelöst werden. Zuvor protokollierte die Anwendung mehrere Indexer-Fehler 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 Parameter
optionsProvider
wird jetzt nachgetContentIdentities
inAssest.php
deklariert.) Zuvor hatte die Anwendung den folgenden Fehler ausgegeben:Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface
. GitHub-31291
- Wenn Sie
Magento\Framework\Filesystem\Io\Ftp::ls()
für einen leeren Ordner ausführen, wird jetzt ein leeres Array wie erwartet zurückgegeben. 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 Rolle und 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 bei falscher Verkettung das Suffix
lex
anvalue
,domain
und andere Parameter angehängt. GitHub-26377, GitHub-32440
allure-framework/allure-phpunit
wurde in der gesamten Codebasis auf Version 1.3.1 aktualisiert. Zuvor zeigte die Anwendung diesen Fehler an: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 Fehler beim Ausführen von
bin/magento
-Befehlen im Produktionsmodus auftreten. Zuvor wurden entweder in der Anwendung keine Fehlermeldungen angezeigt oder es wurden Meldungen mit fehlenden Informationen angezeigt. GitHub-32786
- Das PHP-Objekt
ArrayIterator
wurde aktualisiert und funktioniert nun wie erwartet mit PHP 7.4. GitHub-32088
- Die Anwendung erzeugt keinen Fehler mehr, wenn ein Kunde versucht, eine Bestellung abzuschließen, wenn keine Versandunternehmen verfügbar sind. Stattdessen werden die Checkout-Seite und diese Meldung angezeigt:
Sorry, no quotes are available for this order at this time
. Zuvor zeigte die Anwendung eine leere Checkout-Seite an und verzeichnete diese Meldung im Ausnahmeprotokoll: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 auch in eine Zeichenfolge konvertiert. Da bisher jedes Cookie als separater Kontext protokolliert wurde, protokollierte die Anwendung die folgende Nachricht:Unable to send the cookie. Maximum number of cookies would be exceeded
, wenn die Anzahl der Cookies 50 überschritt. 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 E-Mails auf der Rechnung in E-Mails für Verkäufe aktiviert war. Sie ist nun konsistent und funktioniert genauso wie die Versand- und Kreditkartenseiten. GitHub-28511
Media Gallery
bin/magento media-gallery:sync
schlägt jetzt bei der Verarbeitung von PNG-Bildern, die keine XMP Informationen enthalten, wie erwartet fehl.
- Einträge in der Tabelle
catalog_product_entity_media_gallery
werden erwartungsgemäß entfernt, wenn verwandte Produkte gelöscht werden. GitHub-17727
- Bilddetails können jetzt in der Media Gallery aktualisiert werden, wenn die JavaScript-Minimierung aktiviert ist. Zuvor wurden die 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 MFTF-Kernfehlerbehebungen werden im Functional Testing Framework Changelog beschrieben.
- Die Befehle
magento indexer:reindex
undcache:flush
sowie die AktionsgruppeAdminReindexAndFlushCache
wurden aus den 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 zu Tests hinzugefügt, um Testfehler zu verhindern. GitHub-31251
- Tests wurden mit
StorefrontCheckQuickSearchStringActionGroup
undStorefrontAssertProductNameOnProductMainPageActionGroup
(vorhandenen Aktionsgruppen) umgestaltet. GitHub-31251
Refaktorierte 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 Produktraster durch SKU und Klicken auf die erste Zeile (um die Testausführungszeit zu verkürzen)
AssertLinkActionGroup
AssertStorefrontCartDiscountActionGroup
ClickPlaceOrderActionGroup
SaveCmsPageActionGroup
StorefrontAssertProductNameIsNotOnProductMainPageActionGroup
StorefrontGuestCheckoutProceedToPaymentStepActionGroup
StorefrontHoverProductOnCategoryPageActionGroup
StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup
Gelöschte Aktionsgruppen
CliIndexerReindexActionGroup
(oder veränderter Wert) wurde aus Tests entfernt, um die Ausführungszeit für die TestsBackend
,Bundle
,BundleImportExport
,Catalog
,CatalogRule
,CatalogSearch
,Checkout
,Downloadable
,Elasticsearch
,Elasticsearch6
,Indexer
,LayeredNavigation
,LoginAsCustomer
,Newsletter
,Sales
,Search
zu verbessern Die Module},Store
,Swatches
,UrlRewrite
,Weee
undWishlist
.SalesRule
CliCacheFlushActionGroup
ausCatalog
,CatalogUrlRewrite
,Checkout
,Config
,ConfigurableProduct
,Contact
,Cookie
,CurrencySymbol
,Customer
,Downloadable
,Elasticsearch
,Elasticsearch6
,Fedex
,Indexer
,LayeredNavigation
,LoginAsCustomer
,Msrp
,Multishipping
,Sales
entfernt Die Module},Swatches
,Translation
,UrlRewrite
,Vault
,Weee
undWishlist
.
Newsletter
- Die Anwendung sendet keine Newsletter-E-Mail mehr an einen Kunden, der sich in der Zeit zwischen der Erstellung der Newsletter-Warteschlange und dem Versand des Newsletters vom Newsletter abgemeldet hat. GitHub-32116
- Die Anwendung berücksichtigt jetzt Einstellungen für die Newsletter-Aktivierung (Stores > Einstellungen > Konfiguration > Kunden > Newsletter > Allgemeine Optionen). Bisher wurden diese Einstellungen immer aus dem Standardbereich in Multi-Store-Bereitstellungen abgerufen. GitHub-31188
- Die REST-Aufruf-GET
/V1/customers/search
gibt jetzt korrekte Informationen für Kunden zurück, die mehrere Newsletter abonniert haben. GitHub-31168
- Die Zwischenspeicherung des Abonnementstatus wurde aus dem Newsletter-Plug-in entfernt. GitHub-19345
Bestellung
- Die Anwendung berechnet jetzt bei der Rückgabe von Store-Guthaben an ein Kundenkonto für eine teilweise fakturierte Bestellung korrekt ein fakturiertes Kundenkonto.
- Der Antrag speichert nun eine geänderte Bestellung wie erwartet, wenn er ein erstattetes Kundenkonto spart. GitHub-393
Zahlungsmethoden
- Die Anwendung rendert nun Zahlungsblöcke auf
frontend
, unabhängig davon, aus welchem Gebiet die E-Mail gesendet wurde. (Der aktuelle Bereich wird jetzt alsfrontend
emuliert, bevor der Zahlungsblock gerendert wird.) Zuvor wurden Zahlungsblöcke in dem Gebiet gerendert, von dem aus die E-Mail gesendet wurde. Unabhängig davon, ob eine Verkaufs-E-Mail vom Administrator oder von der REST-API ausgelöst wurde, versuchten URLs für Assets, sie aus dem falschen Bereich (webapi_rest
oderadminhtml
) zu laden.
- Die Anwendung sendet nun den Link für ein herunterladbares Produkt an die E-Mail-Adresse, die beim Checkout angegeben wird. Wenn ein Gastkäufer zuvor PayPal Express Checkout verwendet und verschiedene E-Mail-Adressen eingegeben hat, um die Bestellung abzuschicken und auszuchecken, hat die Anwendung den herunterladbaren Produktlink zur ersten Adresse gesendet.
- Die Anwendung zeigt jetzt in Implementierungen, die mehrere Währungen unterstützen, auf der Seite Zahlungsmethode einen genauen Wert für verfügbare Speichergutschriften an.
- Die Liste der Zahlungsmethoden wird jetzt wie erwartet aktualisiert, wenn ein Gast-Käufer die Lieferadresse einer Bestellung während des Checkout in ein anderes Land ändert. Bisher wurde bei einer Änderung der Rechnungsadresse keine Aktualisierung der Zahlungsmethoden Trigger.
PayPal
- Käufer können jetzt erfolgreich eine PayPal Payflow Pro Bestellung mit einer Lieferadresse mit Sonderzeichen auschecken. Zuvor lehnte der Antrag die Zahlung für diese Bestellungen ab.
- Käufer werden nun nach erfolgreicher Zahlung mit PayPal auf die Erfolgsseite der Bestellung zurückgeleitet. Zuvor wurden Käufer auf eine leere Seite umgeleitet, da Sitzungsdaten verloren gingen.
Leistung
- Die Leistung der Admin SKU-Suche für große Kataloge wurde verbessert. Hinweise zur Abfrage-Optimierung erzwingen jetzt die Indexverwendung während der Ausführung der Abfrage.
- Die Leistung des
catalog_product_alert
cron
-Prozesses bei Ausführung auf großen Tabellen (mehrere Millionen Zeilen) wurde verbessert. Zuvor wurden alle Produktwarnungen voncatalog_product_alert
geladen, was zu einer Speicherausnahme führte.
- Das Programm lädt nicht mehr alle CMS-Seiten, wenn nur eine Bearbeitungsseite zum Rendern eines Admin-Formulars erforderlich ist. Diese Seiten werden jetzt schneller geladen. GitHub-30936
-
Numerische Werte in
WHERE IN
-Ausdrücken werden jetzt als Zahl und nicht als Zeichenfolge ausgegeben, was die Abfrageleistung in einigen Versionen von MariaDB verbessert. GitHub-31135 -
Im Modus
use_application_lock
können Sie die Neuindizierung entweder durch die Verwendung von Umgebungsvariablen oder durch Konfiguration der Dateiapp/etc/env.php
aktivieren. Sie müssen den Indexer nach einem Fehler nicht mehr manuell zurücksetzen, wenn dieser Modus aktiviert ist. Wenn dieser Modus nicht aktiviert ist, müssen Sie den Indexer nach einem Fehler manuell zurücksetzen. Siehe Verwenden des Anwendungssperrmodus für Neuindizierungsprozesse.
Preise
- Die Anwendung aktualisiert jetzt korrekt den Preis eines Produkts mit gruppierten Preisen, wenn ein Käufer die Produktmenge auf der Storefront aktualisiert. GitHub-32669
- Bundle-Produkte können jetzt gespeichert werden, wenn den Produkten ein Ebenenpreis zugewiesen wurde und
Magento\Framework\Api\ExtensibleDataObjectConverter
zum Konvertieren von Produktdaten verwendet wird. Zuvor, alsMagento\Framework\Api\ExtensibleDataObjectConverter
zum Konvertieren von Produktdaten in ein Array zum Zeitpunkt der Speicherung eines Produkts verwendet wurde, hat die Anwendung das Produkt nicht gespeichert und diesen Fehler angezeigt:Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
- Geplante Preisaktualisierungen werden nun auf Produkte angewendet, die sich bereits im Warenkorb eines Käufers befinden. GitHub-356
- Der Statuspreis wird nun wie erwartet auf ein Produkt angewendet, wenn Mengenerhöhungen aktiviert sind und der Dezimalbestand kleiner als 1 ist. Zuvor wurde die Mindestpreismenge auf 1 gesetzt.
Produktvideo
- Sie können jetzt die Schaltfläche Video hinzufügen (Admin Katalog > Produkte) verwenden, um nacheinander mehrere Videos hinzuzufügen. In früheren Videofeldern wurden die Details des vorherigen Videos beibehalten.
- Der Vollbildmodus für ein Produktvideo auf einer Produktseite funktioniert jetzt wie erwartet auf Mobilgeräten. Zuvor wurde beim Aufrufen des Vollbildmodus das Video angehalten, bevor der Vollbildmodus beendet wurde.
- Die Navigationspfeil-Schaltflächen (Weiter und Prev) sind jetzt wie erwartet in Produktvideos zu Storefront sichtbar.
- Händler können nun Vimeo-Videos über die Schaltfläche Video einfügen auf der Produktseite wie erwartet hinzufügen. Zuvor wurde in der Anwendung ein 404-Fehler angezeigt. GitHub-31753
Anführungszeichen
- Der
/V1/guest-carts/examplecartid/items
-Aufruf gibt jetzt die angeforderte Store-Ansicht zurück. Zuvor wurde die erste Store-Ansicht im Speicher zurückgegeben, nicht die angeforderte.
- Der Rechnungsversand ist jetzt konfigurierbar. Zuvor war das Senden von Rechnungen nicht konfigurierbar und die Anwendung sendete nach der Erstellung immer eine Rechnung. E-Mails mit Rechnungen und Bestellungen wurden jeweils im Rahmen eines Beobachters gesendet. Für den Versand von Bestellungs-E-Mails und E-Mails auf der Rechnung sind nun separate Beobachter zuständig. GitHub-27656
Berichte
- Alle Systemberichte können jetzt im Cloud-Infrastrukturprojekt in Adobe Commerce angezeigt und von dort heruntergeladen werden. Bisher konnten Sie keine Systemberichte für Protokolle, Daten, Design oder Stores herunterladen.
- Das Datum der letzten Überprüfung unter Admin Berichte > Bewertungen > Nach Produkten zeigt jetzt das richtige Überprüfungsdatum an. Zuvor zeigte die Anwendung das Erstellungsdatum des Produkts anstelle des Überprüfungsdatums an.
Return Merchandise Authorizations (RMA)
- Das Attribut RMA
resolution
wird nicht mehr als erforderlich angezeigt, wenn der Attributfeldwertrequired
auf no gesetzt ist.
- Sie können jetzt mehrere Bestellungen für die Rückgabe vom Administrator auswählen. Zuvor hatte die Anwendung einen Fehler ausgelöst, wenn Sie auf Senden geklickt haben, nachdem Sie mehrere Rückgaben ausgewählt und im Dropdown-Menü Aktionen die Option Schließen ausgewählt haben.
- Die Anwendung sendet nun eine E-Mail-Benachrichtigung an Kunden, wie erwartet, nachdem Sie den Status einer Rückgabe mithilfe der REST-API geändert haben.
- Die Anwendung filtert Datensätze nun entsprechend den Filterwerten im Raster Rückgaben durch den Admin-Kunden. Zuvor wurde Sie von der Anwendung zur Seite "Alle Kunden Admin"weitergeleitet und durch Klicken auf die Schaltfläche "Filter zurücksetzen" wurde auch auf diese Seite umgeleitet. GitHub-436
Überprüfungen
- Die Bewertungssterne für Produktprüfungen werden jetzt im Abschnitt Prüfungsdetails auf der Seite Mein Konto korrekt berechnet.
- Die Abschnitte "Durchschnittliche Produktbewertung"und "Produktbewertung"auf der Seite mit Produktüberprüfungsdetails werden jetzt korrekt dargestellt. Zuvor wurde die Überprüfungs-ID nicht festgelegt, als die Anwendung die Storefront-Bewertung berechnete und die Produktüberprüfungsvorlage nicht ordnungsgemäß gerendert wurde.
- Der Link "Als Erster, der dieses Produkt überprüft" ändert sich jetzt erwartungsgemäß in eine Überprüfungsanzahl, nachdem ein Administrator eine Überprüfung genehmigt hat.
- Administratoren können nun Produktüberprüfungen im Abschnitt Produktprüfungen auf der Seite zur Produktbearbeitung erwartungsgemäß sortieren. GitHub-30270
- Bewertungen werden jetzt mit der richtigen Store-ID gespeichert, nachdem ein Administrator die Überprüfung genehmigt und von einer anderen Domäne als dem Store aus speichert. GitHub-17510
Prämien
- Merchants können jetzt eine Bestellung stornieren, die ganz oder teilweise mit Belohnungspunkten platziert wurde, nachdem der Kunde, der die Bestellung aufgegeben hat, aus dem System entfernt wurde.
- Händler können jetzt Belohnungspunkte aus den Preisregeln für den Warenkorb entfernen. Zuvor blieb der vorherige Wert für die Belohnungspunkt-Menge erhalten, wenn ein Händler beim Erstellen einer Warenkorbpreisregel versucht hat, Belohnungspunkte auf 0 festzulegen.
- Prämienpunkte für Produktbewertungen werden jetzt mit der relevanten Website verknüpft, wenn mehrere Reviews vom Admin-Raster Marketing > Ausstehende Bewertungen genehmigt wurden. Zuvor wurden auf der Storefront keine Belohnungspunkte angezeigt und nicht mit der entsprechenden Website in der Admin-Konsole verknüpft.
- Die Anwendung aktualisiert jetzt die Liste der Zahlungsmethoden, wenn ein Käufer, der sich mit mehreren Adressen auscheckt, die Option Guthaben speichern (Bonuspunkte) entweder prüft oder deaktiviert.
Vertrieb
- Admin-Benutzer können jetzt Bestellungen für nicht vorrätige Elemente aufgeben, wenn die Einstellung Rückorder sind erlaubt aktiviert ist (Speicher > Konfiguration > Katalog > Bestand > Produktoptionen). Zuvor hatte die Anwendung einen Fehler ausgelöst.
- Käufer können jetzt eine Bestellung auf der Seite Bestellungen und Rückgaben finden, wenn der Nachname mit einem Leerzeichen endet.
- Rechnungen werden jetzt mit der richtigen Gesamtsumme erstellt, wenn eine Regel für den Warenkorbpreis, die einen 100%igen Rabatt zuweist, auf eine Bestellung angewendet wird, die auch Katalogprodukten und Rabattsteuern unterliegt und für den kostenlosen Versand qualifiziert ist. Zuvor hatte die Bestellung den richtigen Preis, aber die Rechnung nicht. GitHub-30853
- Beim Filtern von Bestellungen nach Datum werden jetzt genaue Ergebnisse zurückgegeben. Zuvor gab die Anwendung keine Bestellung zurück, die nach 00:00 UTC aufgegeben wurde, wenn Sie die Bestellungen nach Bestelldatum gefiltert haben.
- Das Credit Memo Raster zeigt jetzt das richtige Währungssymbol an, wenn der Gültigkeitsbereich von Website für ein Preis -Attribut in einer Bereitstellung mit mehreren Stores verwendet wird.
- Die Optionsfelder für Zahlungsmethoden werden nach dem Neuladen der Seite "Admin Neue Bestellung erstellen"nicht mehr im Abschnitt "Informationen zu Zahlung und Versand"des Checkout-Workflows ausgeblendet. GitHub-32106
- Der arabische Text wird nun in den Rechnungen korrekt angezeigt.
- Der Antrag berechnet nun die Summe der Teilkrediteinnahmen für Kreditkarten, die entweder auf einer Bestellung oder einer Rechnung in Geschäften basieren, die PayPal Payment Pro als Zahlungseingang bereitstellen. Zuvor hatte der Antrag für Bestellungen mit mehreren Rechnungen die gesamte Steuer dieses Auftrags auf teilweise Stornierung der Rechnung in der Kreditkarte erhoben.
- Die Anwendung erstellt keine zufälligen Datenbank-Deadlocks mehr, wenn neue Bestell-E-Mails an Kunden gesendet werden. Zuvor kam es zu Deadlocks, da die Anwendung das gesamte Objekt und die zugehörigen Objekte statt aktualisierter SQL-Spalten speicherte. Die Anwendung zeigte diesen Fehlertyp an:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
. GitHub-31090
- Auf der Detailseite für die Storefront-Bestellung wird nun die richtige ausgelieferte Produktmenge angezeigt. Zuvor waren die Produktmengen falsch, da die Vorlage für die Seite "Auftragsversand"Menge versandt als
int
darstellte. Dies wurde infloat
geändert.
- Die Anwendung sendet keine Kopien einer Bestellrechnung mehr per E-Mail, wenn die Schaltfläche E-Mail-Kopie der Rechnung deaktiviert ist. Zuvor wurde die Anwendungs-E-Mail an Kunde und E-Mail-Kopie für Rechnung senden an gesendet. GitHub-28511
- Die Anwendung erstellt keine doppelten Adresseinträge für ein Kundenkonto mehr, wenn eine neue Bestellung vom Administrator für einen vorhandenen Kunden erstellt wird. Das Kontrollkästchen Im Adressbuch speichern wurde in Zum Adressbuch hinzufügen umbenannt und ist jetzt standardmäßig im Admin deaktiviert.
- Die Anwendung verwendet jetzt das Logo, das in die Einstellungen für die HTML-Druckansicht des Logos hochgeladen wurde, wenn Käufer eine Bestellung aus ihrem Konto drucken. Zuvor zeigte die Anwendung das LUMA-Logo anstelle des hochgeladenen Logos an.
- Der Pager der Bestellelemente auf der Storefront funktioniert jetzt erwartungsgemäß, wenn die Artikelanzahl 20 überschreitet. Zuvor berücksichtigte der Pager untergeordnete Produkte, und die Gesamtzahl war falsch.
- Die Anwendung zeigt nun die richtigen Währungssymbole für Zwischensummen sowie Versand- und Bearbeitungswerte auf den Rastern "Bestellung"und "Credit Memo"an. GitHub-22662
- Administratoren, die Safari verwenden, können jetzt ein Produkt erfolgreich einer Bestellung vom Administrator hinzufügen. Wenn der Administrator zuvor auf die Schaltfläche "Ausgewählte Produkte zur Bestellung hinzufügen" geklickt hat, hat die Anwendung das Drehlastsymbol angezeigt und die Seite wurde hängengeblieben. GitHub-30265
Verkaufsregel
- Die Anwendung wendet nun Regeln für den Warenkorbpreis an, bei denen die Bedingungen Maximaler Rabatt für die Warenkorbmenge} oder Rabatt für den Qty-Schritt (Kaufen X)korrekt angewendet werden, wenn mehrere Regeln für den Warenkorbpreis auf den Warenkorb angewendet werden. Wenn zuvor eine Regel für den Warenkorbpreis mit dem Wert Maximaler Qty-Rabatt auf oder Rabattschritt (Kaufen X) angewendet wurde, nachdem eine andere Warenkorbpreisregel angewendet wurde, wurde der Gesamtrabatt auf den Wert reduziert, der für Maximaler Qty-Rabatt auf oder Rabattschritt (Kaufen X) des Produktpreises konfiguriert wurde.
- Der Couponbericht spiegelt nun die Couponaktivität in Bereitstellungen, in denen eine geteilte Datenbank implementiert ist, genau wider.
- Warenkorbpreisregeln, die die Bedingung Kategorie IS NOT enthalten, werden jetzt erwartungsgemäß angewendet und können untergeordnete/einfache Produkte konfigurieren, die keiner Kategorie zugeordnet sind, deren übergeordnete Produkte jedoch zugewiesen sind.
- Die GraphQL
cart
-Abfrage gibt jetzt die richtige Gesamtsumme für den Abrechnungsschritt eines Warenkorbs zurück, wenn ein Gutschein auf die Bestellung angewendet wird.
Suche search-heading
- Die Kategorieseite enthält nicht mehr diese doppelten HTML-Element-IDs:
modes-label
,mode-list
,toolbar-amount
,sorter
,limiter
.
- Suchergebnisse mit partiellen Wörtern enthalten keine unerwarteten oder irrelevanten Übereinstimmungen mehr und Suchvorgänge führen sowohl in der Storefront als auch in der Admin-Konsole zu konsistenten Ergebnissen. Die Anwendung verwendet jetzt einen anderen Analyzer ohne einen -Filter für Teilsuchvorgänge nach Wörtern. Bisher wurden in den Suchergebnissen Produkte angezeigt, die keine Suchbegriffe enthielten. (Der Standard-Analyzer enthielt zuvor einen -Filter. Da derselbe Analyzer zum Zeitpunkt der Suche nach Wortteilen verwendet wurde, konnte das Suchergebnis zu unerwarteten oder irrelevanten Übereinstimmungen führen.)
- Die Schnellsuche gibt jetzt Ergebnisse zurück, wenn die Suchanfrage mehrere Wörter enthält und der Produktname als nicht durchsuchbar konfiguriert ist. Wenn der Produktname zuvor als nicht durchsuchbar konfiguriert wurde, hat die Anwendung bei Suchabfragen mit mehreren Wörtern eine Abfrageausnahme ausgelöst.
- Suchergebnisse enthalten jetzt das Attribut
weight
wie erwartet, wenn es als durchsuchbar konfiguriert ist.
- Die Anwendung gibt keinen Fehler mehr aus, wenn Sie eine leere Kategorieseite mit aktiviertem Elasticsearch anzeigen. Stattdessen wird die Seite wie erwartet gerendert und eine informative Nachricht angezeigt. Zuvor hat ein leerer Volltext-Index eine Ausnahme auf einer Kategorieseite ausgelöst.
- Die Funktion zum automatischen Vervollständigen von Suchfeldern funktioniert jetzt wie erwartet, wenn ein Käufer nach Beginn seiner Suche außerhalb des Suchfelds klickt. Vorschläge zur automatischen Vervollständigung werden jetzt wieder angezeigt, wenn der Käufer die Eingabe fortsetzt. Bisher wurden in der Anwendung keine Vorschläge zur automatischen Vervollständigung angezeigt, und durch Klicken in das Suchfeld wurden die Suchvorschläge nicht erneut angezeigt (obwohl dies durch die Eingabe zusätzlicher Briefe geschehen war).
- Beim Suchen nach einem Produkt basierend auf seiner vollständigen oder teilweisen SKU in der erweiterten Suche wird jetzt das erwartete Produkt zurückgegeben.
- Navigationsfilter mit Ebenen zeigen jetzt genaue Produktzahlen an. Zuvor wurden die Werte der Produktanzahl aus Elasticsearch nicht nach Katalogberechtigungen gefiltert.
- Elasticsearch gibt keinen Fehler mehr aus, wenn der Kategorie-URL-Seitenparameter die Paginierung überschreitet. GitHub-23843
- Sie können jetzt einen benutzerdefinierten Feld-Mapper für Elasticsearch zu
Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver
hinzufügen. GitHub-24350
- Entwickler können jetzt Elasticsearch-Mappings ändern. Zuvor waren dynamische Vorlagen, die in den Standardzuordnungen an den Elasticsearch-Server gesendet wurden, hartcodiert, was Entwicklern die Indizierung zusätzlicher Daten, die mit einem benutzerdefinierten verknüpft sind, in Elasticsearch verhinderte. GitHub-24363
- Suchfelder (Formular-minisearch) funktionieren jetzt erwartungsgemäß, wenn Suchvorschläge deaktiviert sind. GitHub-30584
Versand
- Die Anwendung aktualisiert jetzt den Versandpreis wie erwartet, wenn ein Käufer nach dem Löschen eines Produkts beim Checkout mit mehreren Adressen zur Warenkorbseite zurückkehrt.
- Der Antrag zeigt jetzt den korrekten angepassten Versandpreis an, wenn einige Artikel im Warenkorb für den kostenlosen Versand infrage kommen. Zuvor hatte der Antrag, als sich eine Untergruppe von Artikeln im Warenkorb für den kostenlosen Versand qualifiziert hatte, den Versandpreis nicht angepasst und dem Käufer den vollständigen Versandpreis angezeigt.
- Administratoren, die auf eine bestimmte Website beschränkt sind, können jetzt eine Sendung für eine Bestellung erstellen, die auf derselben Website platziert wird. Zuvor hatte die Anwendung diese Ausnahme ausgelöst, wenn ein Administrator ohne Berechtigung für die standardmäßige Store-Ansicht versuchte, eine Bestellung zu versenden, die in einer Store-Ansicht platziert wurde, auf die der Administrator Zugriff hatte:
Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293
.
- Der Antrag berücksichtigt nun bei der Entscheidung, ob eine Bestellung die Bedingungen für den kostenlosen DHL-Versand erfüllt, die entsprechenden Rabatte für Warenkorbpreise.
- Versandbeschriftungen verwenden jetzt für Geschäfte, die mehrere Währungen unterstützen, bei einer Bestellung in einer Nicht-Basiswährung die Basiswährung anstelle der Bestellwährung. GitHub-31891
- Die Anwendung zeigt jetzt die richtige Teilsumme der Bestellungen an, wenn ein Käufer während des Checkouts zur Einkaufswagenseite zurückkehrt, nachdem er von der Seite mit mehreren Sendungen weg navigiert ist. GitHub-31889
- Durch die Bearbeitung der Rechnungsinformationen während der Erstellung der Admin-Bestellung werden Versandinformationen für Kunden mit unterschiedlichen standardmäßigen Versand- und Rechnungsadressen nicht mehr geändert. GitHub-31786
- Die Anwendung deaktiviert nicht mehr das Kontrollkästchen Kommentare anhängen , wenn ein Käufer auf Versandmethoden und -preise abrufen klickt, und wählt beim Erstellen einer Bestellung durch den Administrator eine Versandmethode aus. GitHub-30256
- Käufer können jetzt die Schaltfläche Zurück des Browsers verwenden, um zur Seite Versandmethode auswählen zurückzukehren, während sie eine Bestellung mit mehreren Adressen auschecken. Zuvor wurde in der Anwendung die Seite Versandmethode auswählen beschädigt angezeigt. GitHub-30268
- Die Produktmenge bleibt jetzt wie erwartet unverändert, nachdem ein Käufer die Menge auf der Seite "Versandadresse"auf die Seite mit mehreren Adressen ändert und auf die Schaltfläche "Zurück"des Browsers klickt. GitHub-31956
- Die Versandkosten für Pauschalsätze werden nicht mehr null, wenn beim Checkout eine Regel für den Warenkorbpreis angewendet wird. GitHub-21832
- Die Anwendung gibt keinen Fehler mehr aus, wenn ein Händler versucht, eine Bestellung mit DHL zu versenden, wenn das Kontrollkästchen Versandtitel erstellen aktiviert ist und der Produktname Unicode-Zeichen enthält. Zuvor wurde in der Anwendung dieser Fehler bei der Anforderung der Titelerstellung angezeigt:
The response is in wrong format
. GitHub-31032
- Sie können eine Bestellung vom Administrator erfolgreich in einer Multi-Site-Bereitstellung platzieren, bei der
United States
auf einer Website aktiviert ist undDisable all countries
als Standardbereich auf der anderen Website aktiviert ist. Zuvor hat die Anwendung die Reihenfolge nicht platziert und diesen Fehler angezeigt:Please check the shipping address information. "regionId" is required. Enter and try again
. GitHub-30577
Staging
- Die Funktion "Bausteinaktualisierung planen"funktioniert jetzt wie erwartet in Implementierungen, die Fastly implementieren. Zuvor aktualisierte die Anwendung keine Blockinhalte, da Fastly-Cache-Tags nicht invalidiert wurden und Fastly veraltete Inhalte weiterhin bereitstellte.
- Die Staging-Vorschau der Warenkorbpreisregel wird jetzt auf der entsprechenden Website geladen, wenn sie mehreren Website-Store-Ansichten zugewiesen wird. Zuvor wurde die Staging-Vorschau für Warenkorbpreisregeln unabhängig von den zugewiesenen Websites in die standardmäßige Store-Ansicht geladen.
- Die Sonderpreise für Produkte in der nicht standardmäßigen Store-Ansicht werden jetzt wie erwartet auf den Standardwert gesetzt, nachdem eine geplante Aktualisierung beendet wurde.
- Händler können jetzt erfolgreich ein herunterladbares Produkt mit einem verknüpften Beispiel von der herunterladbaren Produktseite speichern, nachdem sie ein zukünftiges Staging-Update mit einem Enddatum erstellt haben. Zuvor hat die Anwendung das Produkt nicht gespeichert und folgende Meldung angezeigt:
The downloadable sample isn't related to the product. Verify the link and try again
. GitHub-488
- Die Anwendung führt keine großen Datenbankabfragen mehr aus, die alle Produkt-IDs während der Vorschau einer geplanten Aktualisierung einer Kategorie enthalten. Stattdessen wird der Kategoriefilter auf die Produktsammlung angewendet, um eine temporäre Tabelle für die Staging-Vorschau der Kategorie zu erstellen. Zuvor wurden alle Produkte von der Anwendung in eine temporäre Tabelle für die Staging-Vorschau eingefügt, was die Leistung beeinträchtigte.
- Das Modul
Magento_SalesRuleStaging
Trigger keine Fehler mehr während der Aktualisierung von 2.3.x.
- Die Anwendung zeigt jetzt Katalogregelbedingungen mit den richtigen Daten an, wenn Sie eine Planungsaktualisierung anzeigen. Wenn Sie zuvor eine mit Bedingungen erstellte Planungsaktualisierung angezeigt haben, hat die Anwendung keine Bedingungen oder Bedingungen mit falschen Daten angezeigt.
- Das Kontrollkästchen Standardwert verwenden für ein Produkt bleibt aktiviert, nachdem eine geplante Aktualisierung vor der Aktualisierung deaktiviert wurde.
- Die Regeln für den Katalogpreis gelten nun erwartungsgemäß für Produkte mit nicht definierten Attributwerten. Zuvor wurden Rabatte, die über eine Katalogpreisregel erstellt wurden, nicht auf Produkte mit nicht definierten Attributen angewendet. GitHub-461
- Katalogregeln funktionieren jetzt wie erwartet in Multi-Website-Bereitstellungen mit Geschäften in verschiedenen Zeitzonen. Zuvor wurden Katalogregeln von der Anwendung auf allen Websites gleichzeitig angewendet oder deaktiviert.
- Die Statuspreise werden nicht mehr entfernt, wenn ein Zeitplan-Update für eine bestimmte Website erstellt wird.
- Sie können jetzt ein Produkt von der herunterladbaren Produktseite speichern, nachdem Sie ein zukünftiges Staging-Update mit einem Enddatum erstellt haben. Zuvor hat die Anwendung das Produkt nicht gespeichert und folgende Meldung angezeigt:
The downloadable link isn't related to the product. Verify the link and try again
. GitHub-474
Store
- Die Anwendung behandelt eine Zeichenfolge von
0
nicht mehr als leeren Wert, wenn eine Store-Homepage angezeigt wird. Zuvor hat die Anwendung einen ganzzahligen Wert am Anfang eines Anfragepfads als Store-ID behandelt, was unbeabsichtigte Auswirkungen auf SEO hatte.
- Plug-ins für
\Magento\Framework\App\ActionInterface
unterlib/internal/Magento/Framework/App/Action/Plugin
wurden entfernt, um die Richtlinie einzuhalten, dass Plug-ins verwendet werden sollten, um das Verhalten eines Moduls aus einem anderen Modul anzupassen. GitHub-28050
- Die Anwendung zeigt diese Meldung jetzt an, wenn Sie versuchen,
Website
als Standard auszuwählen, wennStore View
während der Website-Erstellung deaktiviert ist:Please enable your Store View before using this Web Site as Default
. Zuvor war die Website abgestürzt, und die Anwendung zeigte keinen Warnhinweis an.
Steuern
- Der Antrag berücksichtigt jetzt die versteckte Steuer bei der Validierung des Mindestbestellbetrags.
- Die Anwendung zeigt jetzt die FPT (Fixed Product Taxes) wie erwartet an, wenn ein Käufer zu seinem Warenkorb zurückkehrt und nach dem Hinzufügen von Bundle-Produkten zum Warenkorb zum Checkout fortfährt. GitHub-30250
- Die Anwendung füllt jetzt die Eingabefelder MwSt.-Nummer sowohl für die Abrechnungs- als auch für die Versandadressen des Abschnitts "Adressinformationen"der neuen Admin-Bestellseite mit gespeicherten MwSt.-Nummern vorab aus, wenn ein Administrator eine Bestellung für einen bestehenden Kunden erstellt. GitHub-31846
- Der Antrag zeigt jetzt auf der Seite zur Kundenregistrierung ein Feld MwSt.-Nummer an, wenn
customer/create_account/vat_frontend_visibility
aktiviert ist. GitHub-31326
Test
- Testumgebungen wurden auf Version 6.0.12 aktualisiert.
CacheCleaner::cleanAll();
wurde aus Integrationstests entfernt. GitHub-31074
- Es wurde ein Test für dieses Szenario hinzugefügt: Administratoren können ein Kundenkonto bearbeiten, wenn der Kunde einen Newsletter in der Warteschlange abonniert. GitHub-30645
- Der Befehl
cache:flush
wurde aus Tests entfernt, um die Ausführungsdauer für die ModuleCatalog
,CatalogUrlRewrite
undLoginAsCustomer
zu verbessern. GitHub-31056
- Redundante Parameter wurden entfernt und die POST wurde bei Bedarf in
\Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping
in GET geändert.
Design
- Die Anmeldeseite des Kunden zeigt diese Meldung nicht mehr an, wenn die Einstellung JS-Code nach unten verschieben (Store > Konfigurationen > Voranbringen > Entwickler > JavaScript-Einstellungen) und beide Cookies aktiviert sind:
The store will not work correctly in the case when cookies are disabled
.
- Kontolinks in Kopfzeilen folgen jetzt den WCAG-Standards. Zuvor enthielten Kontolinks in Kopfzeilen duplizierte IDs, was dazu führte, dass die WCAG-Validierung fehlschlug.
- Die Anwendung priorisiert jetzt die Store-Konfiguration für ein Store-Logo-Bild gegenüber der Layout-Konfiguration. Zuvor war die Größe der Logobilder fest und variierte nicht je nach Geschäft.
- Das Programm zeigt jetzt Seitenelemente konsistent auf Storefront-Seiten an, die standardmäßige Adobe Commerce-Designs verwenden. Zuvor wurden nicht alle Stile im leeren Design angewendet, sodass nicht alle Seitenelemente auf Seiten mit diesem Design angezeigt wurden. (Beispielsweise war im Suchfeld Meine Bestellungen keine Lupe vorhanden.)
Übersetzung und Gebietsschemata
- Klammern, die zu Zeichenfolgen hinzugefügt werden, werden nicht mehr maskiert, wenn die Inline-Übersetzung konfiguriert ist. Zuvor wurden die Klammern bei der
escapeHtmlAttr
-Methode in HTML-Entitätscodes konvertiert. GitHub-32000
- Nicht übersetzbare Ausdrücke in der Admin-Konsole können jetzt übersetzt werden. (Diese Pull-Anforderung trägt zu den laufenden Bemühungen bei, alle Admin-Zeichenfolgen lokalisierbar zu machen.) GitHub-11175
- Textzeichenfolgen in der Vorlage, die zur Verwaltung gespeicherter Zahlungsmethoden verwendet werden (Mein Konto > Gespeicherte Zahlungsmethoden ), können jetzt übersetzt werden. GitHub-31211
- Bestellungsnachrichten, die vom Admin gesendet werden, verwenden jetzt das Gebietsschema "Store", nicht das Gebietsschema, das mit dem Administratorkonto verknüpft ist. GitHub-26521
Benutzeroberfläche
- In der Admin-Fußzeile wird nun die richtige Produktversion angezeigt.
- Die Paginierung für Quellen ist jetzt wie erwartet während der Erstellung des Admin-Versands vorhanden.
- Der Produkt-Rasterfilter funktioniert jetzt ordnungsgemäß, wenn Sie benutzerdefinierte Datumsattribute zum Filtern von Produkten verwenden und das Admin-Benutzergebietsschema
en_GB
lautet.
- Pinch-to-Zoom-Gesten funktionieren jetzt wie erwartet in der Bildgalerie-Lupe der Produktseite auf iOS-Geräten.
- Die Paginierung der Suchergebnisse des Admin-Produkt-Rasters beginnt jetzt bei Seite eins für jede Suche wie erwartet.
- Anomalien mit der Anzeige des Warenkorbs beim Zoomen wurden behoben. Zuvor wurden bei der Zoomphase dieser Seite Elemente überlagert.
- Es wurden Alignment-Probleme mit den Registerkarten auf der Einladungsseite für Administratoren (Admin Marketing > Private Sales > Einladungen) behoben. Zuvor war die Anzeige auf der Registerkarte für Einladungen, die von einem Kunden akzeptiert worden waren, falsch ausgerichtet. GitHub-333
- Die Seite zur Überprüfung der Bestellung, die beim Checkout mit PayPal Express Checkout angezeigt wird, wird jetzt erfolgreich geladen. Zuvor enthielt die Vorlage die nicht verwendete Schaltfläche Versandmethode aktualisieren , die vom Skript beim Rendern der Seite nur teilweise ausgeblendet wurde. GitHub-32006
- Bewertungssterne und Überprüfungstext im Abschnitt "Kundenüberprüfungen"der Produktseite haben jetzt den richtigen Abstand, wenn längere Bewertungsnamen vorhanden sind. GitHub-31890
- Die Optionen werden nun wie erwartet in der Dropdown-Liste Aktionen auf den Seiten ArchivRechnungen, Sendungen und Credit Memos angezeigt.
- Die Anwendung zeigt jetzt einen korrekten Zeitwert an, wenn die Option
datetime
componenttimeOnly
auf yes gesetzt ist. GitHub-23157
- Sie können jetzt ein Layout-Update entfernen, nachdem Sie ein neues Widget unter Admin Inhalt > Widgets erstellt haben. GitHub-29936
- Die Schaltfläche Layout-Update entfernen funktioniert jetzt bei jedem Layout, das Sie über Admin Inhalt > Widgets hinzugefügt haben, erwartungsgemäß. Zuvor funktionierte diese Schaltfläche bei der Hinzufügung mehrerer Layouts nicht mit dem zuvor ausgewählten Layout. GitHub-30286
- Die Anwendung verwendet jetzt den Seitentitel, der in der Layout-Datei als Browser-Seitentitel für die Bearbeitungsdatei des Kundenkontos festgelegt ist. Zuvor wurde der Wert des Seitentitels durch die Aktion für den Controller
Magento\Customer\Controller\Account\Edit
aufAccount Information
erzwungen. GitHub-30724
-
Auf diesen Seiten wurden Kontrollkästchen hinzugefügt, mit denen Händler zwischen dem Ein- und Ausblenden von Kennwörtern umschalten können:
- Kundenanmeldung
- Kundenregistrierung
- Kundenbearbeitung (Abschnitt "Kennwort ändern")
- Neues Kennwort für Kunden festlegen GitHub-31557
- Es wurde eine redundante Kopfzeile in Rasterzellen entfernt, die angezeigt wurde, wenn ein Administrator nach Änderung des Attributsatzes ein Produkt zu einem gruppierten Produktsatz hinzugefügt hat. GitHub-30911
- Das Programm zeigt jetzt einen Filter vom Typ
DateRange
im Bereich "Angemeldet"auf der Seite Kunde > Anmelden an. Zuvor wurde in der Anwendung einText
-Filter angezeigt. GitHub-30328
- JavaScript wurde aus Vorlagendateien entfernt und in separate Dateien verschoben, um Rendering-Probleme auf Admin-Seiten zu reduzieren. Zuvor wurden Admin-Seiten in Bereitstellungen, in denen die Minimierung von HTML aktiviert war, nicht ordnungsgemäß gerendert. Die Anwendung zeigte diesen Fehler an:
An error has happened during application run. See exception log for details
. GitHub-32454
- Das Widget
dropdownDialog
lädt jetzt nur die verschiebbaren und in der Größe anpassbarenjquery-ui
Teile, die es benötigt. Zuvor wurden große Mengen unnötigen Codes geladen, was die Ladezeit erhöhte und die Leistung beeinträchtigte. GitHub-32810
URL-Neuschreibungen
- Produkt-URL-Neuschreibungen für eine bestimmte Website in einer Multi-Site-Bereitstellung werden jetzt erwartungsgemäß generiert, nachdem Produkte einer Website durch Massenaktualisierung zugewiesen wurden.
- Die Anwendung generiert jetzt korrekt den URL-Pfad für untergeordnete Kategorien, wenn das Kontrollkästchen Standardwert verwenden für den URL-Schlüssel für die übergeordnete Kategorie aktiviert ist. Zuvor führte das Verschieben einer Kategorie in die Hierarchie zu einem falschen
url_path
-Wert, wenn verschiedene URL-Schlüssel in einer Bereitstellung mit mehreren Stores verwendet wurden. GitHub-16202
- Die Anwendung aktualisiert jetzt die
url_path
der Kategorie, die dem gesamten Speicherbereich zugewiesen ist, wenn Sie eine Kategorie in der Kategoriehierarchie verschieben. Zuvor führte das Verschieben einer Kategorie in der Hierarchie zu einem falschenurl_path
.
- URL-Umleitungen, die vom Administrator mithilfe einer benutzerdefinierten URL erstellt wurden, funktionieren jetzt erfolgreich. Zuvor hat GraphQL die Antwort von einer GraphQL
urlResolver
-Abfrage zwischengespeichert und den alten Wert nach der URL-Neuschreibungsaktualisierung zurückgegeben.
- Produkt-URL-Neuschreibungen werden jetzt erwartungsgemäß entfernt, wenn ein Produkt aus einer Website entfernt wird. GitHub-24184
- Es wurde ein
main_table
-Verweis auf diestore_id
in der FunktionaddStoreFilter
der Sammlungapp/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php
hinzugefügt. Zuvor traten Probleme auf, wenn der Kollektion einejoin
für eine Tabelle hinzugefügt wurde, die auch einestore_id
-Spalte enthält. GitHub-31853
- Der REST-Endpunkt
PUT /V1/products/:sku
generiert jetzt Produkt-URL-Neuschreibungen wie erwartet. Zuvor hat der Endpunkt Produktwerte vom Typurl_key
neu generiert, aber keine URL-Neuschreibungen. GitHub-30316
Benutzer
- Sie können jetzt eine effektive neue Benutzerrolle speichern (Admin System > Berechtigungen > Benutzerrollen), wobei die gesamte Baumstruktur
Catalog
außerEdit Product Design
ausgewählt ist ( Katalog > Inventar > Produkte > Produktdesign bearbeiten). Zuvor hat die Anwendung keine Produktänderungen gespeichert, die von einem Benutzer in dieser Rolle vorgenommen wurden und folgenden Fehler angezeigt haben:Not allowed to edit the product's design attributes
. GitHub-31973
- Das Programm verwendet jetzt beim Generieren von E-Mails für neue Administratoren die richtige benutzerdefinierte E-Mail-Vorlage. Zuvor verwendete die Anwendung die alte Standardvorlage, in der die Vor- und Nachnamen des Administrators weggelassen wurden.
- Die Anwendung verwendet jetzt beim Senden von E-Mails an neue Benutzer die richtige E-Mail-Vorlage. Zuvor verwendete die Anwendung die Standardvorlage, selbst wenn eine benutzerdefinierte Vorlage ausgewählt wurde.
VersionCMS
- Das Programm wendet jetzt das richtige Design auf eine CMS-Seite an, nachdem Sie das Layout geändert haben. Zuvor änderte die Anwendung das zugewiesene Design nach dem Speichern Ihrer Layoutänderungen in "Luma", unabhängig davon, welches Design der Seite zugewiesen wurde.
- Administratoren mit eingeschränkten Rollen können jetzt die Seiten, auf die sie Zugriff haben, erfolgreich hinzufügen, aktualisieren oder duplizieren, die einem Hierarchieknoten zugewiesen sind. Zuvor hatte die Anwendung unter diesen Bedingungen einen schwerwiegenden Fehler ausgelöst.
Video
- Videos sind jetzt wie erwartet in der Produktgalerie verfügbar, wenn das erweiterte JavaScript-Bundling aktiviert und verwendet wird. GitHub-32501
- YouTube-Videos für einfache Produkte, die zu einem konfigurierbaren Produkt gehören, funktionieren jetzt erwartungsgemäß. Zuvor wurden Bilder nach ID statt nach Position sortiert. Folglich wurden einige Videos wie Bilder behandelt. GitHub-29690
Visual Merchandiser
- Die Leistung von Seitenladevorgängen der Admin-Kategorie mit Visual Merchandiser wurde verbessert. Das Laden von Seiten mit Administrationskategorien generiert keine großen Datenbankabfragen mehr.
Web-API-Framework
- Die Catalog-API aktualisiert jetzt die benutzerdefinierten Optionswerte eines Produkts ordnungsgemäß, indem neue Werte hinzugefügt und alte Werte entfernt werden. Zuvor hat die API die alten Werte nicht gelöscht.
- POST
/V1/guest-carts/:cartId/billing-address
gibt jetzt die Adresse-ID als Ganzzahl und keine Zeichenfolge zurück.
Website-Beschränkung
- Käufer werden nun zu der Seite weitergeleitet, auf die sie zugreifen wollten, bevor sie aufgefordert wurden, sich anzumelden. Zuvor wurden in Bereitstellungen, in denen Website-Einschränkungen aktiviert und der Beschränkungsmodus auf Privater Verkauf: Nur Anmeldung festgelegt waren, Käufer zur Homepage des Stores weitergeleitet.
Widget
- Administratoren können jetzt alle Layoutaktualisierungen eines Widgets löschen. Zuvor konnte ein Administrator nur die erste löschen, wenn ein Widget mehrere Layoutaktualisierungen enthielt.
- Wenn Sie im Produkt-Widget auf die Schaltfläche Zum Warenkorb hinzufügen klicken, wird die Seite nicht mehr neu geladen. Zuvor führte das Klicken auf die Schaltfläche Zum Warenkorb hinzufügen in einem Produkt-Widget dazu, dass eine aktuelle Seite neu geladen wurde, bevor das Produkt zum Warenkorb hinzugefügt wurde.
- Das CMS-Knotenverknüpfungs-Widget für Hierarchie-Knoten in TinyMCE rendert Hierarchie-Links jetzt erwartungsgemäß, wenn das Feld Benutzerdefinierten Text verankern leer ist.
Wunschliste
- Die Anwendung setzt die Konfigurationseinstellungen eines konfigurierbaren Produkts nicht mehr zurück, wenn Sie auf die Schaltfläche Element bearbeiten für das Produkt aus einer Wunschliste klicken. GitHub-32119
- Die Anwendung zeigt jetzt den richtigen Produktpreis an, wenn Sie ein Produkt mit einer anpassbaren Dateioption in der Wunschliste aktualisieren. Zuvor zeigte die Anwendung den falschen Produktpreis und keinen Link zur hochgeladenen Datei an.
- Die Gesamtproduktanzahl in einer Wunschliste für einen Kunden mit mehreren Wunschlisten entspricht nun der Anzahl der Artikel in der Wunschliste. Zuvor waren nicht vorrätige Produkte in der gesamten Produktanzahl enthalten.
- Die Anwendung entfernt nun ein Produkt aus einer Wunschliste, nachdem es einer Bestellung hinzugefügt wurde. GitHub-30260
- Käufer können nun zugehörige Produkte aus einer Wunschliste in ihren Warenkorb aufnehmen. Zuvor hat die Anwendung nur das konfigurierbare Produkt hinzugefügt, nicht das konfigurierbare Produkt und die zugehörigen Produkte, wenn ein Käufer auf den Link Alle auswählen im Abschnitt "Zugehörige Produkte"klickte. GitHub-32274
Bekannte Probleme
Problem: JavaScript-Fehler, wenn reCAPTCHA deaktiviert ist. Wenn reCAPTCHA für den Checkout deaktiviert ist, wird der Checkout fortgesetzt, aber die Anwendung zeigt im Konsolenprotokoll einen Uncaught TypeError
-Fehler an. Dieses Problem wird in einer späteren Version behoben.
Problem: Fehler bei der Inhaltssicherheitsrichtlinie. Die Storefront zeigt den folgenden Fehler im Konsolenprotokoll an: The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline
. Die Storefront-Performance ist nicht betroffen.
Problem: Anomalien mit PayPal-Kreditanzeige von Geschenkkartenbeträgen. Wenn PayPal-Guthaben aktiviert ist und mehrere Geldbeträge für Geschenkgutscheine konfiguriert sind und ein Käufer den Betrag für den Wert einer Geschenkkarte ändert, aktualisiert die Storefront den Betrag für die Zahlung der Tranche nicht. Eine Korrektur dieses Problems wird in Adobe Commerce 2.4.4 und Magento Open Source 2.4.4 enthalten sein.
Problem: Die Schaltfläche Zur Bestellung hinzufügen funktioniert nicht für Produkte, die von SKU zum Warenkorb hinzugefügt werden. Die Anwendung zeigt diese Fehlermeldung an, wenn Sie auf die Schaltfläche Zur Bestellung hinzufügen klicken, nachdem Sie Produkte zur Bestellung durch SKU hinzugefügt haben: An error has happened during application run
. Produkte werden nicht zum Warenkorb hinzugefügt. Problemumgehung: Verwenden Sie die Funktion "Produkte hinzufügen".
Problem: Die GraphQL category
- und categoryList
-Abfragen ignorieren Kategorieberechtigungen, die bestimmen, ob Kategorien in einem freigegebenen Katalog ausgeblendet oder verfügbar gemacht werden. Die Storefront zeigt derzeit alle Kategorien an, die dem freigegebenen Katalog zugewiesen wurden oder deren Zuweisung aufgehoben wurde. Dies betrifft Adobe Commerce 2.4.3-Bereitstellungen, die eine PWA-Storefront implementieren, für die freigegebene B2B-Kataloge aktiviert wurden.
Gemeinschaftsbeiträge
Wir sind der weiteren Magento Open Source-Community dankbar und möchten ihre Beiträge zu dieser Version würdigen.
Das Community-Engineering-Team Magento Contributors führt nach Monat, Quartal und Jahr eine Liste der beitragenden Personen und Partner. Auf dieser Mitarbeiter-Seite können Sie Links zu ihren zusammengeführten PRs auf GitHub folgen.
Partnerbeiträge
In der folgenden Tabelle sind die Beiträge von Partnern aufgeführt. In dieser Tabelle sind der Partner aufgeführt, der die Pull-Anforderung beigetragen hat, die externe Pull-Anforderung und die GitHub-Problemnummer, die mit ihr verknüpft ist (sofern verfügbar).
Individuelle beitragende Faktoren
In der folgenden Tabelle sind die Beiträge unserer Community-Mitglieder aufgeführt. In dieser Tabelle sind die externen Pull-Anforderungen, die GitHub-Problemnummer, die damit verknüpft ist (sofern verfügbar), und das Community-Mitglied, das die Pull-Anforderung beigetragen hat, aufgeführt.
Systemanforderungen
Unser Technologiestapel basiert auf PHP und MySQL. Weitere Informationen finden Sie unter Systemanforderungen.
Installations- und Upgrade-Anweisungen
Sie können Adobe Commerce 2.4.3 mit Composer installieren.
Migrationstool-Kits
Mit dem Datenmigrationswerkzeug können Sie vorhandene Magento 1.x-Speicherdaten auf Magento 2.x übertragen. Diese Befehlszeilenschnittstelle umfasst Funktionen für Überprüfung, Fortschrittsverfolgung, Protokollierung und Tests. Installationsanweisungen finden Sie unter Installieren des Datenmigrationswerkzeugs. Sie sollten das Datenmigrations-Repository erkunden oder dazu beitragen.
Mit dem Code Migration Toolkit können Sie vorhandene Magento 1.x Store-Erweiterungen und -Anpassungen auf Magento 2.x übertragen. Die Befehlszeilenschnittstelle enthält Skripte zum Konvertieren von Magento 1.x-Modulen und -Layouts.