Sicherheits-Patch verfügbar
Händler können jetzt zeitkritische Sicherheitskorrekturen installieren, ohne die Hunderte von funktionalen Korrekturen und Verbesserungen anzuwenden, die eine vollständige vierteljährliche Version bereitstellt (z. B. 2.4.1-p1). Patch 2.4.0.12 (Composer-Paket 2.4.1-p1) ist ein Sicherheits-Patch, der Fehlerbehebungen für Sicherheitslücken bietet, die in unserer vorherigen vierteljährlichen Version 2.4.1 identifiziert wurden. Alle Hotfixes, die auf die Version 2.4.1 angewendet wurden, sind in diesem Sicherheits-Patch enthalten. (Ein Hotfix bietet eine Fehlerbehebung für eine veröffentlichte Version, die ein bestimmtes Problem oder einen Fehler behebt.)
Allgemeine Informationen zu Sicherheits-Patches finden Sie unter Einführung in die neue Sicherheits-Patch-Version. Anweisungen zum Herunterladen und Anwenden von Sicherheits-Patches (einschließlich Patch 2.4.1-p1) finden Sie Schnellstart für die lokale Installation. Sicherheits-Patches enthalten nur Sicherheitsfehlerbehebungen, nicht aber die zusätzlichen Sicherheitsverbesserungen, die im vollständigen Patch enthalten sind.
Weitere Versionsinformationen
Obwohl der Code für diese Funktionen mit vierteljährlichen Releases gebündelt ist, werden mehrere dieser Projekte (z. B. Progressiven Webs Application (PWA Studio)) ebenfalls unabhängig voneinander veröffentlicht. Fehlerbehebungen für diese Projekte werden in den separaten, projektspezifischen Versionsinformationen dokumentiert, die in der Dokumentation für jedes Projekt verfügbar sind.
Highlights
Achten Sie auf die folgenden Highlights in dieser Version.
Wesentliche Sicherheitsverbesserungen
Diese Version umfasst mehr als 35 Sicherheitskorrekturen und Verbesserungen der Plattformsicherheit. Alle Sicherheitskorrekturen wurden auf 2.4.1-p1 und 2.3.6-p1 rückportiert.
Mehr als 35 Sicherheitsverbesserungen, die die Schwachstellen bei Remote Code Execution (RCE) und Cross-Site Scripting (XSS) beheben
Bisher sind keine bestätigten Angriffe im Zusammenhang mit diesen Problemen aufgetreten. Bestimmte Schwachstellen können jedoch ausgenutzt werden, um auf Kundeninformationen zuzugreifen oder Administratorsitzungen zu übernehmen. Die meisten dieser Probleme erfordern, dass ein Angreifer zunächst Zugriff auf den Administrator erhält. Daher erinnern wir Sie daran, alle erforderlichen Schritte zu unternehmen, um Ihren Administrator zu schützen, einschließlich, aber nicht beschränkt auf diese Bemühungen: IP-Zulassungsauflistung, Zwei-Faktor-Authentifizierung, die Verwendung eines VPN, die Verwendung eines eindeutigen Standorts anstelle von /admin
und gute Passworthygiene. Unter Adobe-Sicherheitsbulletin finden Sie eine Erläuterung dieser behobenen Probleme.
Zusätzliche Sicherheitsverbesserungen
Zu den Sicherheitsverbesserungen für diese Version gehören:
-
Alle Core-Cookies unterstützen jetzt das
SameSite
. -
Die Anwendung zeigt jetzt Meldungen an, die potenziell schadhaften Inhalt in Produkt- und Kategoriebeschreibungsfeldern identifizieren, wenn Benutzende versuchen, Werte in diesen Feldern zu speichern.
-
Dateisystemvorgänge in allen Komponenten wurden standardisiert und gehärtet, um böswillige Uploads zu verhindern.
-
Verstöße gegen die Core Content Security Policy (CSP) wurden behoben.
Verbesserungen der Infrastruktur
Diese Version enthält Verbesserungen der Kernqualität, die die Qualität des Frameworks und diese Funktionsbereiche verbessern: Kundenkonto, Katalog, CMS, OMS, Import/Export, Promotions und Targeting sowie Warenkorb und Checkout.
Plattformverbesserungen
-
Elasticsearch 7.9.x wird jetzt unterstützt. Obwohl die Ausführung von Elasticsearch 7.9.x empfohlen wird, bleibt Version 2.4.x mit Elasticsearch 7.4.x kompatibel.
-
2.4.2 wurde mit (Lack .4). Version 2.4.x bleibt kompatibel mit Lack 6.x.
-
Redis 6.x wird jetzt unterstützt. Version 2.4.x bleibt kompatibel mit Redis 5.x.
-
2.4.2 ist jetzt mit Composer 2.x kompatibel. Es wird empfohlen, dass Händler zu Composer 2.x migrieren. Obwohl Sie diese Version mit Composer 1.x installieren können, wird Composer 1.x bald das Ende der Lebensdauer erreichen. Einen Überblick über die Funktionen von Composer 2.x finden Sie unter Composer 2.0 ist jetzt verfügbar!
Die Möglichkeit, eine Installation für die Verwendung einer geteilten Datenbank zu konfigurieren, wird in dieser Version nicht mehr unterstützt. Händler, die derzeit die Split-Datenbank verwenden, sollten mit der Planung beginnen, zu einer einzelnen Datenbank zurückzukehren oder zu ihr zu migrieren, oder einen alternativen Ansatz verwenden. Einen Überblick über dieses Problem Sie im DevBlog-BeitragEinstellung der Split-Datenbankfunktionalität in Magento Open Source". Migrationsanweisungen Sie unter „Von einer geteilten Datenbank auf eine einzelnezurücksetzen“.
Leistungsverbesserungen
Diese Version enthält Code-Verbesserungen, die die API-Leistung und die Reaktionszeit von Administratoren bei Bereitstellungen mit großen Katalogen verbessern. Dank mehrerer Erweiterungen der Skalierbarkeit unterstützt 2.4.2 nativ komplexe Kataloge, die bis zu 20-mal größer sind als in früheren Versionen.
Adobe Stock-Integration
Diese Version enthält Adobe Stock Integration v2.1.1.
GraphQL
Mit dieser Version werden die folgenden Funktionen von GraphQL abgedeckt:
-
Es wurde Unterstützung für Vergleichslisten hinzugefügt. Käufer können Vergleichslistenund löschen sowie Elemente hinzufügen und entfernen zu den Vergleichslisten hinzufügen. Darüber hinaus können sich Kunden, die eine Vergleichsliste als Gast erstellen, als Kunde anmelden und Vergleichslisten(aufbewahren).
-
Es wurde die
generateCustomerTokenAsAdmin
-Mutation hinzugefügt und dasCustomer
-Objekt wurde aktualisiert, um die Unterstützung für den Remote-Einkauf zu unterstützen. -
Es wurde Lokalisierungsunterstützung für Stores hinzugefügt, um Aufgaben wie das Ändern von Sprachen, Warenkörben und Währungen zu unterstützen.
-
Hinzugefügte Unterstützung für Gewerkschaften in GraphQL. GitHub-29425-
-
Das GraphQL-Schema wurde verbessert, um den Abruf von Produktdaten für konfigurierbare Produkte mit vielen Varianten zu optimieren.
-
Objekt-IDs vom Typ Ganzzahl werden nicht mehr unterstützt und durch
uid
Attribute vom Typ „ID“ ersetzt. -
Das Attribut
staging
wurde derProductInterface
und derCategoryInterface
hinzugefügt, um zu bestimmen, ob ein Produkt bereitgestellt wird, und um die zugehörigen Kampagneninformationen anzuzeigen.
Weitere Informationen zu diesen Verbesserungen finden Sie 🔗 GraphQL-Entwicklerhandbuch.
PWA Studio
Diese Version von PWA Studio umfasst:
-
Internationalisierung und Lokalisierung. Venia bietet jetzt Unterstützung für mehrere Sprachen und Währungen.
-
Verbessertes Erweiterbarkeits-Framework, um Code-Änderungen durch Erweiterungen zu unterstützen.
-
Anfangskomponenten für „Mein Konto“-Funktionen wie Wunschliste, Gespeicherte Zahlungen, Adressbuch und Auftragsverlauf.
-
Verschiedene Leistungsoptimierungen und Fehlerbehebungen.
Weitere Informationen zu Verbesserungen und Fehlerbehebungen finden Sie unter PWA Studio-Versionen. Unter Kompatibilität finden Sie eine Liste der PWA Studio-Versionen und der entsprechenden kompatiblen Versionen.
Mediensammlung
Neue Rollenressourcen für Media Gallery. Diese Version bietet Händlern die Möglichkeit, den Administratorzugriff nur auf die Mediensammlung zu beschränken und zu steuern, wer diese Aktionen ausführen kann:
-
Einfügen von Medien-Assets in Inhalte
-
Hochladen von Assets
-
Asset-Details bearbeiten
-
Löschen von Assets aus der Mediensammlung
-
Verwalten der Ordnerstruktur.
Web-optimierte Bilder im Inhalt. Händler können jetzt Web-optimierte) anstelle von hochauflösenden Bildern in Inhalten verwenden. Das Originalbild bleibt in der Mediensammlung unverändert und die Bildausgabedarstellung wird dynamisch generiert, wenn das Bild in den Inhalt eingefügt wird.
Funktionstest-Framework (MFTF)
MFTF 3.2.1 ist jetzt verfügbar. Diese Version führt Fehlertoleranzen sowohl bei Tests als auch bei der Erstellung von Test-Suites ein. Weitere Verbesserungen und Fehlerbehebungen werden im " Framework-Änderungsprotokoll“.
Vom Anbieter entwickelte Erweiterungen
In den folgenden Artikeln finden Sie Aktualisierungen zu Funktionen und Änderungen in dieser Version:
Verbesserungen bei der AWS S3-Unterstützung
Die Unterstützung für den Amazon Simple Storage Service (AWS S3) wurde erweitert und umfasst jetzt auch:
-
Objektspeicher und zukünftige Erweiterbarkeit
-
Speichern von Mediendateien auf AWS S3
Behobene Probleme
Wir haben Hunderte von Problemen im 2.4.2-Kern-Code behoben.
Installation, Upgrade, Bereitstellung
- Die Möglichkeit, eine Installation für die Verwendung einer geteilten Datenbank zu konfigurieren, wird in dieser Version nicht mehr unterstützt. Siehe den Einstellung der Split-Datenbankfunktionalität in Magento Open Source DevBlog-Beitrag.
- Händler können jetzt erfolgreich eine Open Source-Bereitstellung, die MySQL 8.x ausführt, auf eine Commerce-Bereitstellung aktualisieren. Zuvor gab die Anwendung eine Ausnahme aus, wenn
AUTO_INCREMENT
Werte für alle Tabellen, denen während des Upgradesrow_id
hinzugefügt wurden, auf die Anfangswerte zurückgesetzt wurden.
- Die Anwendung zeigt jetzt eine Fehlermeldung an, die den Pfad angibt, der zum Erstellen des Patches verwendet wurde, wenn beim Ausführen von
bin/magento/setup:db:generate-patch
ein Fehler auftritt. GitHub-27523
block_html
-,full_page
- undlayout
-Caches sind jetzt nachbin/magento/setup:upgrade
Ausführung wie erwartet deaktiviert. GitHub-28186
- Die mindestens erforderliche PHP-Version in
bootstrap.php
wurde aktualisiert. GitHub-30004
- Sie können
bin/magento/setup:upgrade
jetzt nach der Installation der Beispieldaten ausführen. Zuvor hat die Anwendung beim Versuch,bin/magento/setup:upgrade
auszuführen, folgenden Fehler angezeigt:unable to apply data patch magento\catalogrulesampledata\setup\patch\data\installcatalogrulesampledata for module magento_catalogrulesampledata
. Die Anwendung zeigte diesen Fehler auch im Systemprotokoll an:main.ERROR: Sample Data error: Unable to unserialize value. Error: Syntax error
. GitHub-30685
- Sie können jetzt einen YouTube-API-Schlüssel wie erwartet über die Befehlszeile festlegen. Zuvor hat die Anwendung diesen Fehler zurückgegeben, als Sie versucht haben,
bin/magento config:sensitive:set catalog/product_video/youtube_api_key
auszuführen:There are no sensitive configurations to fill
.
- Die Anwendung berücksichtigt jetzt die
maxMessages
Werte, die inqueue_consumer.xml
definiert sind. Zuvor verwendete die Anwendung nur die Werte der Bereitstellungskonfiguration. GitHub-29522
- Die URL-Generierung für einen neuen Store funktioniert jetzt wie erwartet, wenn der Store mit
bin/magento setup:config:import
erstellt wird. Zuvor wurden URL-Neuschreibungen nicht in Produktionsumgebungen generiert. GitHub-30025
- Die Anwendung gibt keinen Fehler mehr aus, wenn Sie versuchen, nach der Installation von Magento Open Source mithilfe des
ssh
-Containersbackend-frontname
zu wechseln. GitHub-26762
- Die Anwendung zeigt diese Frage nicht mehr an, wenn Sie
bin/magento setup:install
ausführen, um eine Verbindung zur vorhandenen Datenbank herzustellen:Overwrite the existing configuration for db-ssl-verify?[Y/n]
. GitHub-29612
Adobe Stock-Integration
- Es wurde Unterstützung zum Lesen von
exif_image.png
oderexif-image.jpeg
Metadaten hinzugefügt. GitHub-1449
- Der Inhalt, der angezeigt wird, wenn Sie auf das Lesezeichen „Standardansicht“ für die Mediensammlung klicken, wird nicht mehr gefiltert. Zuvor enthielt die Standardansicht einen Filter, der von
url-filter
Anwendung angewendet wurde. GitHub-1813, GitHub-1789, GitHub-1780
- Die Logik wurde vom WYSIWYG OnInsert-Controller (
Magento\Cms\Controller\Adminhtml\Wysiwyg\Images\OnInsert::execute()
) entfernt und demModel\Wysiwyg\Images\PrepareImage::execute()
hinzugefügt. GitHub-1504
- Die Bereichsemulation wurde aus dem
media-content:sync
-Befehl entfernt (\Magento\MediaContentSynchronization\Console\Command\Synchronize::execute
). GitHub-1784
Analytics
- Die erweiterte Berichterstellung funktioniert jetzt für mehrere Umgebungen in derselben Domain wie erwartet. Zuvor schlugen CSV-Dateien, die von erweiterten Berichten generiert wurden, fehl, da doppelte Anführungszeichen mit umgekehrten Schrägstrichen maskiert wurden, anstatt mit einem anderen doppelten Anführungszeichen, wie es der CSV-Standard RFC4180 erfordert.
- Der
analytics_collect_data
wird jetzt erfolgreich ausgeführt, wenn entweder der Standard- oder der Nicht-Standard-Port verwendet wird, um inenv.php
eine Verbindung zu MySQL herzustellen. Zuvor gabanalytics_collect_data
einen Fehler aus, wenn Sie den nicht standardmäßigen Port verwendet haben.
- CSV-Dateien, die von
analytics_collect_data
generiert werden, sind jetzt ordnungsgemäß maskiert. Zuvor wurden diese Dateien nicht mit der richtigen Maskierung generiert, was die Erstellung von Inventarberichten verhinderte.
Braintree
-
Käufer können jetzt Apple Pay verwenden, um eine Bestellung für virtuelle Produkte erfolgreich aufzugeben. Zuvor gab die Anwendung den folgenden Fehler aus:
There are no shipping methods available for you right now. Please try again or use an alternative payment method
. -
Die standardmäßige PayPal Express Checkout-Zahlungsmethode funktioniert jetzt wie erwartet mit der Braintree-Kreditkartenzahlungsmethode. Zuvor zeigte die Anwendung nicht die Schaltfläche PayPal an, wenn die Braintree-Kreditkartenzahlungsmethode aktiviert war.
Produkte im Paket
- Die Anwendung legt keine Preise mehr für untergeordnete Artikel von Festpreis-Paketen in Angeboten fest.
- Die Preissortierung funktioniert jetzt wie erwartet, wenn Bundle-Produkte nicht vorrätige Produkte enthalten. Bislang wurden beim Sortieren des Preises in absteigender Reihenfolge keine Produkte in absteigender Reihenfolge angezeigt.
- Die Anwendung wendet jetzt automatisch eine Standardmenge von 1 für Bundle-Produktoptionen an, wenn viele Optionen vorhanden sind. Zuvor mussten Händler jeder Option manuell eine Standardmenge zuweisen.
- Auf der Seite „Rechnung erstellen“ werden nun die untergeordneten Produkte für Bundle-Produkte wie erwartet angezeigt. GitHub-27350
- Die Anwendung weist jetzt die richtigen Produktpreise zu, wenn Sie einfache Produkte, die Teil eines Produktpakets sind, mit einem benutzerdefinierten Preis neu bestellen. Zuvor führte die Festlegung eines benutzerdefinierten Preises für ein Bundle-Produkt bei der Neubestellung zu falschen Preisen für angehängte einfache Produkte. GitHub-30343
- Wenn Sie POST
/V1/order/{orderId}/ship
aufrufen, um eine Bestellung zu versenden, die ein Produktpaket enthält, wird die Bestellung jetzt als abgeschlossen markiert. Zuvor hat die Anwendung diese Fehlermeldung angezeigt:You can't create a shipment without products
. GitHub-9762
Warenkorb und Checkout
- Die Schätzung der Versandmethode funktioniert jetzt wie erwartet, wenn benutzerdefinierte Adressattribute im Versandschritt des Checkout-Workflows vorhanden sind. Zuvor hat die Anwendung diese Fehlermeldung angezeigt:
{"message":"Error occurred during \"custom_attributes\" processing. A custom attribute is specified with a missing attribute code. Verify the code and try again."}
GitHub-27505
- Die Anwendung zeigt jetzt die
You have no items in your shopping cart
im Mini-Warenkorb wie erwartet an, wenn ein Käufer den einzigen Artikel aus seinem Warenkorb entfernt. Zuvor wurden die Warenkorbdaten nicht fürcheckout/cart/removeFailed
aktualisiert, wenn ein Käufer den einzelnen Artikel entfernte und die Anwendung diese Nachricht anzeigte:1 product requires your attention
.
- Die Anwendung zeigt die Versandkosten für eine Bestellung für eine nicht anwendbare Versandart nicht mehr an. Zuvor hatte die Anwendung für eine nicht anwendbare Versandmethode im Checkout-Workflow den Preis 0 angezeigt.
- Die standardmäßige Rechnungsadresse eines Kunden ist jetzt ausgewählt, wenn das Kontrollkästchen Meine Rechnungsadresse und Lieferadresse sind identisch im Checkout-Workflow deaktiviert ist.
- Der Inhalt des Warenkorbs geht nicht mehr verloren, wenn ein Käufer von einem Geschäft in einen anderen in einer anderen Domain wechselt.
- Käufer können jetzt eine Bestellung erfolgreich abschließen, indem sie das Auschecken mit mehreren Adressen verwenden, wenn sie mehrere Versandmethoden verwenden. Zuvor hat die Anwendung diesen Fehler angezeigt:
There has been an error processing your request
. GitHub-30197
- Die Anwendung zeigt jetzt das richtige Standardland auf der Versandseite des Checkout-Workflows an, wenn der Käufer die Shop-Ansicht vom Warenkorb aus ändert.
- Die Anwendung schließt jetzt die aktuelle Sitzung aus, wenn Kundensitzungen nach einem Zurücksetzen des Passworts nach der Abmeldung bereinigt werden, wenn ein Gastkäufer angemeldet ist. Zuvor hat die Anwendung den Warenkorb geleert, wenn der Käufer sein Kennwort zurückgesetzt hat.
- Die Anwendung zeigt jetzt das richtige Standardland für eine Shop-Ansicht an, wenn ein Käufer die Shop-Ansicht im Warenkorb ändert. Zuvor, als die Store-Ansicht im Warenkorb geändert wurde, war das Standardland falsch.
- Redundante Aufrufe an den
/rest/V1/guest-carts/cart_id/totals-information
-Endpunkt im Warenkorb wurden entfernt, wodurch die Warenkorbleistung verbessert wurde. Wenn ein Käufer zuvor ein Produkt zum Warenkorb hinzugefügt und dann den Warenkorb angesehen hat, hat die Anwendung diecollectAddressTotals
-Methode mehrmals aufgerufen.
- Die Anwendung zeigt das Feld Region für ein Land im Checkout-Workflow nicht mehr an, wenn die Einstellung Status auswählen, wenn dies für Land optional ist deaktiviert ist. GitHub-30747
- Die Anwendung wiederholt eine Versandadresse im Checkout-Workflow für Storefronts nicht mehr, wenn eine Bestellung vom Administrator neu bestellt wird.
- Es wurden Probleme beim Design von
AdminMediaGalleryInsertLargeImageFileSizeTest
behoben.
- Allen neuen Datensätzen in der
quote
für Gäste wird jetzt in dercustomer_is_guest field
der Wert 1 zugewiesen. Zuvor wurde jedem neuen Gast, der ein Produkt in den Warenkorb gelegt hat, im Feldquote.customer_is_guest
der Datensatz mit 0 zugewiesen.
- Die Schaltfläche Senden im Abschnitt Überprüfung und Zahlungen des Checkout-Workflows wurde in
<form id="purchaseorder-form"...></form>
verschoben, was die implizite Formularübermittlung ermöglicht, ohne dass JavaScript geändert wird. GitHub-27925
- Die Anwendung zeigt das Feld Region im Checkout-Workflow nicht mehr an, wenn die Einstellung Status auswählen, wenn dies für Land optional ist deaktiviert ist. GitHub-30747
- Die Anwendung aktualisiert jetzt die Zwischensumme eines Warenkorbs korrekt, wenn ein Käufer beim Auschecken mit mehreren Adressen Warenkorb aktualisieren klickt. GitHub-30408
- Die Anwendung löst keine Ausnahme mehr aus, wenn
config.xml
Knoten für Zahlungsmethoden vorhanden sind, die derzeit nicht installiert sind. Zuvor gab die Anwendung beim Auschecken eine Ausnahme aus. GitHub-29555
- Die Anwendung rendert jetzt Produktnamen, die Sonderzeichen enthalten, korrekt im Mini-Warenkorb. GitHub-29075
- Die Anwendung legt jetzt das richtige Rabattpaket für den Tabellensatz fest. Zuvor hat die Anwendung bei der Berechnung des Tabellensatzes keine Warenkorbregel angewendet, die einen Rabatt auf den Warenkorb festlegt. GitHub-30169
Warenkorb-Preisregel
- Die Warenkorbpreisregeln werden jetzt wie erwartet angewendet, wenn die Zwischensummen der Bestellungen ohne Berücksichtigung der Steuer berechnet werden. Die neue
Subtotal (Incl. Tax)
-Option wurde als Bedingung für eine Warenkorbpreisregel hinzugefügt.
- Die Anwendung einer Preisregel mit einem Coupon mithilfe von GraphQL funktioniert jetzt wie erwartet, wenn die Festbetragsrabatt für den gesamten Warenkorb verwendet wird.
Katalog
- Das Programm zeigt jetzt alle erneut aktivierten Produkte wie erwartet in der Storefront an. Wenn ein Produkt deaktiviert und dann erneut aktiviert wurde, hat die Anwendung das Produkt erst angezeigt, nachdem der Cache für Lackseiten gelöscht oder der Speicher neu indiziert wurde, da der Seitencache nach der erneuten Aktivierung eines Produkts nicht ungültig gemacht wurde.
- Die teilweise Neuindizierung großer Kataloge funktioniert jetzt erwartungsgemäß. Zuvor verschwanden Produkte zufällig während der Neuindizierung mit dem
catalogsearch_fulltext
partiellen Indexer von der Kategorieseite der Storefront.
- Käufer können jetzt eine fakturierte Bestellung eines Produkts mit anpassbaren Optionen wie erwartet neu bestellen. Zuvor gab die Anwendung diesen Fehler aus, wenn ein Käufer versuchte, Folgendes neu zu bestellen:
{"0":"The product's required option(s) weren't entered. Make sure the options are entered and try again
.
- Sie können jetzt die Einstellung Layout auf der Seite „Kategoriedesign“ erfolgreich auf "Layout-Aktualisierungen“. Zuvor wurde die Anwendung auf Kategorie - FullWidth zurückgesetzt, als Sie den Wert Keine Layout-Aktualisierungen zugewiesen haben.
- Probleme mit der Sortierreihenfolge von Produkten in der Storefront wurden behoben. Zuvor setzte die Anwendung, wenn sie die Produktpreise indizierte, gelegentlich die
min_price
undmax_price
eines konfigurierbaren Produkts in dercatalog_product_index_price
auf 0, was sich auf die Preissortierreihenfolge in der Storefront auswirkte.
- Die Anwendung aktualisiert jetzt erfolgreich Attribute mit der Bezeichnung
Product Type
. Da das Attributproduct_type
im Code reserviert war, hat die Anwendung diese Meldung angezeigt, als Sie versucht haben, einProduct Type
Attribut zu aktualisieren:An attribute with the same code (product_type) already exists.
- Die Anwendung ändert die Position eines hochgeladenen Videos im Abschnitt Bilder und Videos auf der Produktdetailseite nicht mehr, wenn Sie das Produkt speichern. Zuvor wurde der neuen Bildposition ein Indexwert (Position in der Liste) zugewiesen und wenn vorhandene Bildpositionen nicht mit ihren Indexwerten ausgerichtet waren, wurde das neue Bild in der Liste verlegt.
- Die Funktion Zum Warenkorb hinzufügen funktioniert jetzt wie erwartet, wenn die Schaltfläche Zum Warenkorb hinzufügen zum Klicken verfügbar ist. Wenn Sie zuvor mehrmals auf diese Schaltfläche geklickt haben, während Sie auf das Laden einer Produktseite warteten, hat die Anwendung den folgenden Fehler ausgegeben:
Invalid Form Key. Please refresh the page
.
- Die Anwendung leert den Kategorie-Cache nicht mehr, wenn ein Händler deaktivierte Produkte zu einer Kategorie hinzufügt oder daraus entfernt. Zuvor hat die Anwendung den Cache für zugehörige Kategorien trotz des Produktstatus geleert. Die Zuweisung von Kategorien wurde beim Speichern einer Kategorie ebenfalls aufgehoben, was dazu führte, dass der Kategorie-Cache geleert wurde.
- Die Katalogproduktfilterung im Bereich Alle Store-Ansicht funktioniert jetzt ordnungsgemäß. Zuvor wurden Produkte mit dem Status
Enabled
oderDisabled
im Raster angezeigt, während nur aktivierte oder deaktivierte Produkte gefiltert wurden.
- Eine teilweise Neuindizierung führt nicht mehr zu übersehenen Produkten und leeren Kategorien.
- Die Neuanordnung funktioniert jetzt wie erwartet, wenn JavaScript-Kalender verwenden aktiviert ist (Stores > Configuration > Catalog > Date & Time Custom Options). Zuvor zeigte die Anwendung, wenn diese Einstellung aktiviert war, diesen Fehler an, als Sie versuchten, die zuvor aufgegebene Bestellung über die Admin:
Please specify date required option(s)
neu anzuordnen.
- Die Anwendung zeigt jetzt bei der Preiserstellung für mehrere Websites die richtige Währung an.
- Benutzerdefinierte Attribute für Produktbilder sind jetzt korrekt maskiert. Das
data-src
hat erwartungsgemäß denselben Wert wiesrc
Attribut. Zuvor wurden URL-Sonderzeichen maskiert.
- Durch die Aktualisierung einer Kategorie über die REST-API wird die Einstellung Standardwert verwenden für die Attribute Kategorie aktivieren, In Menü einschließen und URL-Schlüssel nicht mehr deaktiviert.
- Beim Speichern einer Kategorie wird jetzt nur der Block-Cache geleert, der mit dieser Kategorie verknüpft ist. Zuvor löschte die Anwendung den Cache für alle Kategorieblöcke.
- Der Preis einer benutzerdefinierten Option mit einem Prozentpreis wird jetzt in Multi-Store-Bereitstellungen erwartungsgemäß in die Basiswährung des aktiven Stores umgerechnet. Zuvor wurde der Preis einer benutzerdefinierten Option mit einem Prozentpreis falsch umgerechnet. GitHub-26432
- Die Anwendung erstellt nun Bilder erfolgreich neu. Diese Bilder werden in der Admin wie erwartet angezeigt, wenn ein Händler Mediensammlungsdaten mit POST
rest/all/V1/products
sendet. Zuvor wurden die Bilder von der Anwendung neu erstellt, aber gelöscht, wenn ein Händler Mediensammlungsdaten über die POSTrest/all/V1/products
gesendet hat, wenn die Bilder inpub/media
gelöscht wurden, aber noch Datensätze in den Medien vorhanden waren, die Datensätze für diese Bilder enthielten. Daher sah der Händler nur Platzhalter im Admin-Bereich, da die Bilder während des Aktualisierungsprozesses erstellt und gelöscht wurden.
- Datensätze werden jetzt erwartungsgemäß gelöscht, wenn Sie die Zuweisung eines Elements auf einer Website aufgehoben haben. Zuvor wurden Bilder bei der Ausführung von POST
rest/all/V1/products
dupliziert.
- Der
/V1/categories/{categoryId}/products
-Aufruf gibt jetzt wie erwartet eine Liste aller Produkte zurück, die zur übergeordneten Kategorie gehören. Wenn ein Produkt zu mehr als einer Unterkategorie der übergeordneten Kategorie gehörte, gab die Anwendung diesen Fehlertyp aus:Internal Error. Details are available in the application log file. Report ID: webapi-5f8579e37db54
. GitHub-30461
- Der
/V1/products/attributes/:attributeCode/options
REST-Endpunkt unterstützt jetzt die Aktualisierung einer vorhandenen Attributoption.
- Der Preis einer benutzerdefinierten Option mit einem Prozentpreis wird jetzt in Multi-Store-Bereitstellungen erwartungsgemäß in die Basiswährung des aktiven Stores umgerechnet. Zuvor wurde der Preis einer benutzerdefinierten Option mit einem Prozentpreis falsch umgerechnet. GitHub-26432
- Händler können jetzt während der Produkterstellung erfolgreich ein neues Attribut speichern. Zuvor hat die Anwendung das Attribut nicht gespeichert und den Händler auf die Startseite der Store-Ansicht umgeleitet, als er versucht hat, das Attribut zu speichern. GitHub-30362
- Die Produktraster auf den Seiten Verkauf > Bestellungen und Katalog > Produkte enthalten jetzt alle relevanten Stores, nicht nur den zuletzt erstellten Store. GitHub-29267
- Das Produkt-Repository verwendet jetzt
store_id
, wenn verfügbar, um Attributwerte für ein vorhandenes Produkt zu speichern. Zuvor hat die Produkt-Repository-Klasse die Produktspeicher-ID überschrieben und immer die standardmäßige Speicher-ID zugewiesen. GitHub-29933
Katalogregel
- Katalogpreisregeln funktionieren jetzt wie erwartet mit benutzerdefinierten Optionen auf Produktdetailseiten. Zuvor entsprachen die Produktpreise auf dieser Seite nicht den geltenden Katalogpreisregeln. GitHub-22856
- Produkt- und Katalog-Caches laufen jetzt wie geplant ab. Zuvor waren Caches täglich abgelaufen, da
сron
diecatalogrule_apply_all
-Aufgabe einmal täglich ausgeführt haben. Dadurch wurden alle Katalogregeln und abhängigen Indexer neu indiziert und der Cache für alle Produkte und Kategorien geleert.
Bereinigung
Tippfehler- und Grammatikbereinigung
- Der Titel der Seite mit den fehlgeschlagenen Bestellungen wurde auf Korrektheit überprüft. Zuvor trug diese Seite den Titel: Wir haben Ihre Bestellung erhalten!. GitHub-29416
- Unnötige Leerzeichen in
app/code/Magento/Contact/view/frontend/templates/form.phtml
wurden entfernt. GitHub-29779
- Fehlerkorrektur - Tippfehler in der Hilfemeldung für den Unterbefehl
bin/magento/setup:config:set
wurden korrigiert. GitHub-28802
- Grammatik im PHPDoc für die
framework/Registry.php
korrigiert. GitHub-29661
- Entfernte überflüssige Leerzeichen aus
app/code/Magento/Catalog/Helper/Product/View.php
. GitHub-30601
- Fehlerkorrektur - Ein Tippfehler im Funktionsnamen in
app/code/Magento/Ui/view/base/web/js/form/element/ui-select.js
wurde korrigiert. GitHub-29987
- Die Pluralisierung von „Artikel“ im Mini-Warenkorb und in der Zusammenfassung der Kassenbestellungen wurde korrigiert. GitHub-29920
- Leerzeichen in Inline-Elementen in Navigationsfiltern mit Markup-Ebenen wurden entfernt. GitHub-30448
rl
wurde in\Magento\Framework\Filter\Template\Tokenizer\Parameter
aufurl
korrigiert. GitHub-29185
Bereinigung des Codes
- Ein überflüssiges HTML-
<br>
-Tag wurde aus dem Bereich Überprüfen der Datenmeldung auf der Seite System > Import entfernt.
ChangeQuoteControl
wurde überarbeitet. GitHub-29673
AccessChangeQuoteControl
und die zugehörigen Komponententests wurden überarbeitet. GitHub-29672
- Der Codestil der Rückgabetypdeklaration in
app/code/Magento/Captcha/CustomerData/Captcha.php
wurde korrigiert. GitHub-29712
- Position der Schaltflächenliste auf der Seite Neues Attribut korrigiert.
- Es wurde die richtige Blockklasse für das Frontend-
viewModel
-Referenzbeispiel für die\Magento\Framework\View\Element\Template
hinzugefügt. GitHub-30450
- Eine redundante Feldgruppe im Verkaufsregelformular wurde entfernt. GitHub-29599
- Unnötiger Code wurde aus der
hierarchy/edit.phtml
entfernt.
- PHPdoc-Kommentar in
app/code/Magento/CatalogImportExport/Model/Export/Product.php
korrigiert. GitHub-30833
- Die Docblock-Anmerkung für die
PublisherInterface
wurde korrigiert. GitHub-30190
- Korrigierte Argumente in der
getStatusByState
. GitHub-30173
- Die Methodenbeschreibung in
app/code/Magento/Quote/Model/Cart/Totals/ItemConverter.php
wurde korrigiert. GitHub-30125
- Redundante Variablenzuweisungen in derselben Zeile in mehreren Dateien wurden entfernt. GitHub-30133
@param string $attribute
in@param AbstractAttribute|string[]|string $attribute
inEntityAbstract.php
geändert. GitHub-30191
- Ungültige Tags (z. B.
@package
und@subpackage
) wurden in der gesamten Code-Basis aus Docblocks entfernt. GitHub-30061
- Nicht verwendete Parameter im Konstrukt der
AdvancedPricing
-Klasse wurden entfernt. GitHub-29531
Konfigurierbare Produkte
- Wenn Sie nicht vorrätige konfigurierbare Produkte nach Preis filtern, werden jetzt Ergebnisse innerhalb der richtigen Preisspanne angezeigt.
- Ein virtuelles Produkt ändert seinen Typ nicht mehr, wenn sein Status von „Aktiviert“ in „Deaktiviert“ (oder umgekehrt) geändert wird. Zuvor hat die Anwendung den Produkttyp bei einer Statusänderung von „virtuell“ in „einfach“ geändert.
- Die
getValue()
Methode Trigger beim Aktualisieren von Warenkörben keinen schwerwiegenden Fehler mehr.
- Konfigurierbare Produkte, die auf mehreren Websites verfügbar sind, zeigen keine einfachen untergeordneten Produkte mehr an, die der jeweiligen Website nicht zugewiesen sind. GitHub-28291
- Storefront-Produktseiten zeigen jetzt wie erwartet Stufenpreise ohne Steuern an. GitHub-12225
- MSRP-Preise für konfigurierbare Produkte werden jetzt korrekt in die gewählte Währung umgerechnet. Zuvor hatte die Anwendung die Preise in der falschen Währung angezeigt und folgenden Fehler ausgegeben:
Call to a member function setAppliedTaxes() on null
. GitHub-26526, GitHub-29603
- Händler können jetzt eine Store-spezifische Textzeichenfeld-Attributbezeichnung mit dem Wert 0 (null) speichern. Zuvor wurde der Wert 0 durch den Optionswert Admin ersetzt. GitHub-30073
Cron
- Die Systemmeldungsliste zeigt jetzt Produktaktualisierungen genau an, nachdem
cron
ausgeführt wurde und die Anwendung die Produkte wie geplant aktualisiert hat.
- Der
cron_schedule
-Tabelle wurde ein Index hinzugefügt, der aufschedule_id
undstatus
basiert. GitHub-29601
Benutzerdefinierte Kundenattribute
- Die Anwendung zeigt jetzt nach der Erstellung Kundenattribute des Typs
file
auf der Seite Kontoinformationen an. Beim Versuch, ein neues Attribut dieses Typs zu speichern, hat die Anwendung zuvor die folgenden Fehler angezeigt:The "newAttribute" attribute value is empty. Set the attribute and try again
undValidation is failed
.
- Die Anwendung zeigt jetzt korrekt mehrzeilige benutzerdefinierte Kundenattributwerte an. Zuvor wurden nicht alle Daten angezeigt.
- Die Anwendung warnt jetzt Erstkäufer, wenn sie beim Erstellen eines Kontos ein ungültiges Geburtsdatum eingeben. Zuvor ignorierte der Validator Gebietsschemaeinstellungen und Käufer wurden zur Seite Neues Kundenkonto erstellen mit einem Fehler wegen ungültigem Datum weitergeleitet.
- Benutzerdefinierte Adressattribute sind jetzt wie erwartet im Zahlungsschritt des Checkout-Workflows enthalten.
- Benutzerdefinierte Attribute für die Mehrfachauswahl von Adressen werden nun beim Checkout eines Gastes sowie auf der Seite mit den Bestelldetails für Admin und Mein Konto korrekt angezeigt.
- Sie können jetzt eine führende Null in einem benutzerdefinierten Kundenattribut löschen, wenn
Input Type
aufText
undInput Validation
aufNumeric Only
festgelegt ist.
- Die Anwendung exportiert jetzt erfolgreich Kundendaten, die einen benutzerdefinierten Wert für das Geschlecht enthalten.
KUNDE
- Das Kalender-Widget für das Feld Geburtsdatum des Storefront-Kundenkontos verwendet jetzt das angegebene Store-Gebietsschema.
- Die Anwendung speichert keine doppelten Einträge einer Kundenadresse mehr während des Checkouts einer Neubestellung für einen bestehenden Kunden vom Administrator.
- Wenn Sie alle Adressen mehrerer Kunden aus dem Administrator löschen, werden jetzt alle Adressen aus der Liste der Kundenadressen gelöscht und die standardmäßigen Abrechnungs- und Versandadressen entfernt. Zuvor hat das Programm die Adresse aus der Liste der Kundenadressen gelöscht, aber die standardmäßigen Rechnungs- und Versandadressen nicht entfernt.
- Die Registerkarte Admin-Kundenadresse zeigt jetzt die Adressanzahl korrekt an, nachdem ein Administrator eine Massenlöschung von Adressen durchgeführt hat. Zuvor zählte die Anwendung gelöschte Adressen.
- Das DateTime-Format für das Feld Geburtsdatum auf der Seite zur Kundenregistrierung wurde korrigiert. Zuvor fehlte die führende Null, die einem einstelligen Tag vorausging.
- Die Validierung des Datumsformats für das Feld Geburtsdatum funktioniert jetzt, bevor der Erstkäufer auf die Schaltfläche Konto erstellen klickt. Zuvor konnte ein Käufer einen Wert in einem ungültigen Format eingeben. Wenn er auf die Schaltfläche Konto erstellen klickte, wurde der Käufer zur Seite Neues Kundenkonto erstellen mit einem Fehler bezüglich eines ungültigen Datums weitergeleitet.
- Die Anwendung gibt keinen schwerwiegenden Fehler mehr aus, wenn ein Administrator versucht, ein neues Kundenkonto zu speichern, das ungültige Daten für ein Attribut enthält.
- Die Anwendung gibt keinen 400-Fehler mehr aus, wenn ein Kunde versucht, in einer Bereitstellung, in der zuvor Magento Shipping installiert war und derzeit das Standard-Luma-Design bereitgestellt wird, auf seinen Warenkorb zuzugreifen. Zuvor filterte die Anwendung keine Abschnittsnamen heraus, die von zuvor installierten/aktivierten Modulen erstellt wurden, die vom Administrator nicht unterstützt wurden, bevor Anforderungen an den Server gesendet wurden, was zu Fehlern führte.
- Die Anwendung zeigt jetzt eine Meldung wie erwartet an, wenn ein Käufer ein Gastkonto erstellt, wenn die Einstellung E-Mail-Bestätigung erforderlich) aktiviert ist und
Magento\Customer\Controller\Account\CreatePost
überschrieben wurde. Zuvor hatte die Anwendung diese Art der Anpassung des Benutzerregistrierungsprozesses nicht zugelassen. Unter diesen Bedingungen wurde der E-Mail-Bestätigungsstatus eines Benutzers als abgeschlossen betrachtet, der neue Benutzer wurde automatisch angemeldet und es wurde keine Fehlermeldung angezeigt.
- Die Anwendung weist nun einen Einkäufer der richtigen Kundengruppe zu, wenn der Einkäufer eine Bestellung mit einer nicht standardmäßigen Kundengruppe in einem Geschäft aufgibt, in dem Automatische Zuordnung an Kundengruppe aktivieren aktiviert ist. GitHub-26976
- Das Raster Admin-Kunden ist jetzt erwartungsgemäß verfügbar, wenn die nicht standardmäßige Website in einer Bereitstellung mit mehreren Sites gelöscht wird und Indizes auf Nach Zeitplan aktualisieren eingestellt sind. Zuvor zeigte die Anwendung das Raster nicht an und gab folgenden Fehler aus:
[2020-12-09 11:31:54] report.CRITICAL: The website with id 2 that was requested wasn't found. Verify the website and try again. \{"exception":"[object] (Magento\\Framework\\Exception\\NoSuchEntityException(code: 0): The website with id 2 that was requested wasn't found. Verify the website and try again. at /var/www/html/magento24ee/vendor/magento/module-store/Model/WebsiteRepository.php:110)"}
dotdigital
-
Die Fehlerbehandlung beim Abrufen von Programmlisten aus dotdigital Engagement Cloud wurde verbessert.
-
Der Wert, der während der Gastsynchronisierung in der Spalte „Store-Name“ synchronisiert wird, ist jetzt der Name der Store-Ansicht wie erwartet. Zuvor war der Name der Website in dieser Spalte enthalten.
-
Es wurde eine Array-Prüfung vor dem Durchlaufen von Auftragsstatus-Automatisierungen hinzugefügt, nachdem eine Bestellung gespeichert wurde.
-
Es wurden Probleme mit Composer-Upgrades behoben, die das Ergebnis der Abhängigkeit des dotdigital-Moduls von
magento/module-authorization
waren.
herunterladbar
- Die Anwendung listet ein herunterladbares Produkt nicht mehr auf der Registerkarte Meine Download-Produkte auf, nachdem die Bestellung, zu der es gehört, teilweise zurückerstattet wurde. GitHub-28388
EAV
- Benutzerdefinierte Attribute, die
\Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend
verwenden, verwenden jetzt Standardwerte, wenn in der Payload kein Wert angegeben wird, wenn ein Produkt durch einen API-Aufruf erstellt wird.
\Magento\Config\Model\Config\Source\Email\Template::toOptionArray
gibt keinen Fehler mehr aus, wennsetPath()
nicht vor demtoOptionArray()
aufgerufen wird. GitHub-29315
- Die Anwendung konvertiert nun beim Laden einer E-Mail-Vorlage Klartext in HTML, wenn Sie auf HTML-Version zurückgeben klicken.
- E-Mails, die an Kunden gesendet werden, die Teilrechnungen enthalten, enthalten jetzt genaue Artikelzwischensummen. Zuvor war die Zwischensumme in dieser E-Mail die Summe der bestellten Menge, nicht der Gesamtbetrag der fakturierten Menge.
- Die Anwendung sendet jetzt E-Mail-Erinnerungen an alle relevanten Kunden mit gültigen E-Mail-Adressen. Zuvor hat die Anwendung den Versand von Erinnerungs-E-Mails an Kunden beendet, nachdem eine ungültige Adresse aufgetreten war.
- Das Senden von Verkaufs-E-Mails im asynchronen Modus funktioniert jetzt wie erwartet, nachdem ein Produkt aus einem Katalog entfernt wurde. Zuvor war der asynchrone E-Mail-Versand blockiert, und die Anwendung zeigte folgenden Fehler an:
main.ERROR: Cron Job sales_send_order_invoice_emails has an error: Call to a member function getData() on null. Statistics: {"sum":0,"count":1,"realmem":0,"emalloc":0,"realmem_start":73400320,"emalloc_start":37177640} [] []main.CRITICAL: Error when running a cron job {"exception":"[object] (RuntimeException(code: 0): Error when running a cron job at /var/www/html/vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php:327, Error(code: 0): Call to a member function getData() on null at /var/www/html/vendor/magento/module-catalog/Helper/Image.php:502)"} []
. GitHub-26878
- Die Anwendung kopiert einen Kunden nicht mehr per E-Mail zur Bestellbestätigung, wenn
sales_email/order_comment/enabled
deaktiviert undsales_email/order_comment/copy_method
aufbcc
gesetzt ist. GitHub-29915
Frameworks
- Angepasste Filtergruppen werden jetzt bei der Kundensuche korrekt angewendet. Zuvor hatte die
afterSearch
-Funktion OR-Filter nicht wie erwartet. GitHub-24576
- Bilder auf der Startseite eines Shops werden jetzt erfolgreich gerendert. Zuvor war die HTML der Seitenquelle beschädigt, da die drei aufeinander folgenden Schrägstriche im base64-Code des Bildes als Kommentar falsch interpretiert wurden.
- Die Datumsauswahl funktioniert jetzt beim Filtern von Bestellungen aus der Liste der Admin-Bestellungen in Geschäften mit dem arabischen Gebietsschema (
ar_SA - Saudi Arabia
) ordnungsgemäß.
- DatePicker zeigt jetzt das richtige Datum an, nachdem ein Händler eine Warenkorbpreisregel in einer -Bereitstellung gespeichert hat. GitHub-30382
- Die Anwendung stellt jetzt die Gruppierung arabischer Tausender und die arabischen Dezimaltrennzeichen korrekt dar. Zuvor wurden arabische Symbole beschnitten. GitHub-26676
- Die Anwendung löscht jetzt wie erwartet abgelaufene Datenbanksitzungen aus der Datenbank-
session
.
Allgemeine Fehlerbehebungen
- Sie können jetzt einen nativen Sitzungs-Handler konfigurieren, der sich von dem Handler unterscheidet, der in
php.ini
definiert ist. Zuvor hatSessionManager
den memcache nicht alssave_handler
festgelegt, sondern stattdessen densession_handler
der Datei verwendet. Die Anwendung gab diesen Fehler aus:main.CRITICAL: Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 {"exception":"[object] (Exception(code: 0): Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in ../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 at ../vendor/magento/framework/App/ErrorHandler.php:61)"}
. GitHub-24717
-
An den
LoginAsCustomer
Modulen wurden die folgenden Verbesserungen vorgenommen:-
around
-Plug-in durchafter
ersetzt -
Redundanter Code entfernt
-
(bool)->getValue()
durchisSetFlag
ersetzt. GitHub-29689
-
- Beim Neuladen aller kundenspezifischen Datenabschnitte mit dem Platzhalter (*) wird bei Anfragen kein 400-Fehler mehr
customer/section/load
. GitHub-28154
- Die Anwendung übergibt jetzt Ausnahmen, die auftreten, wenn ein Layout im Produktionsmodus gerendert wird, an
var/report
. GitHub-29606
- Händler können jetzt die Zuweisung von Produkten zu Kategorien erwartungsgemäß aufheben. Zuvor gab die Anwendung einen Fehler ähnlich diesem Fehler aus:
Could not save product "4" with position 0 to category 3
.
- Die Anwendung löst jetzt eine Ausnahme aus, wenn ein nicht vorhandener Kunde ein Zurücksetzen des Kennworts anfordert. GitHub-26288
- Die Anwendung zeigt jetzt eine informative Fehlermeldung an, wenn ein Administrator beim Hochladen einer Datei, die diesen Attributwert enthält, versucht, ein Kundenkonto zu speichern, das einen ungültigen Wert für ein Kundenattribut enthält. Zuvor gab es einen schwerwiegenden Fehler. GitHub-30295
- Die Anwendung wendet jetzt die Konfigurationseinstellung Logo für HTML-Druckansicht wie erwartet auf die PDF der Storefront-Rechnung an. GitHub-24730
static::
wurde in der gesamten Code-Basis für den Zugriff auf private Konstanten durchself::
ersetzt. GitHub-30781
- Die Anwendung öffnet jetzt die Seite Neues Attribut wie erwartet, wenn ein Händler während der zweimal auf die Schaltfläche Neues Attribut erstellen“ klickt. Zuvor hat die Anwendung eine leere Seite angezeigt und einen Fehler ausgegeben. GitHub-30361
- Die Anwendung zeigt die
The coupon code has been accepted
nicht mehr an, nachdem ein Coupon entfernt wurde. GitHub-30255
- Admins können jetzt Widgets bestimmten Kategorien zuweisen. GitHub-30009
- Der Attributselektor
input[type=datetime]
wurde durch einen weniger spezifischen Eingabetyp-Selektor ersetzt. GitHub-30064
- Das Programm zeigt jetzt Store-spezifische Werte an, die erwartungsgemäß mit benutzerdefinierten Kategorieattributen verknüpft sind. GitHub-13440
- Die Anwendung zeigt jetzt eine Eingabeaufforderung mit der Frage an, ob die Kundengruppe geändert werden soll, wenn Sie auf der Seite zur Auftragserstellung auf die Schaltfläche Umsatzsteuer-Identifikationsnummer validieren klicken, wenn die Ladenadresse und der Versandort zu verschiedenen EU-Ländern gehören. GitHub-29652
- Die
\Magento\Catalog\Model\ImageUploader
wurde überarbeitet, um die neuemoveFileFromTmp
-Methode zu verwenden. GitHub-29598
- Die Anwendung zeigt jetzt eine aussagekräftigere Fehlermeldung an, wenn ein Händler versucht, ein Produktattribut mit
product_type
undtype_id
Codes zu erstellen, um eine aussagekräftigere Beschreibung zu erhalten. GitHub-28479
- Die Validierungslogik für die Felder Kunden-Token-Lebensdauer (Stunden) und Admin-Token-Lebensdauer (Stunden) auf der Seite Admin Stores > Konfigurationen > Services > OAuth wurde korrigiert. GitHub-29502
- Die Anwendung analysiert jetzt korrekt Text, der
}}
im Inhaltsfeld des Widgets enthält. GitHub-12087
- Sie können jetzt einen Filter über die Seite „Produktkategorien“ entfernen. Zuvor hat das Programm beim Versuch, den Filter zu löschen, nicht zugelassen, dass Sie den Filter entfernt haben, und es wurde folgender Fehler angezeigt:
Something went wrong
. GitHub-8538
Magento\Framework\MessageQueue\ConfigInterface
kann jetzt instanziiert werden, wenn das optionale ModulMagento_MessageQueue
deaktiviert ist. Zuvor gab die Anwendung den folgenden Fehler aus:PHP Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\MessageQueue\ConfigInterface in /var/www/magento2/magento2/lib/internal/Magento/Framework/ObjectManager/Factory/AbstractFactory.php:121
. GitHub-26080
- Die Logik, die bestimmt, wann die Anwendung den E-Mail-Wert aus dem persistenten Speicher abrufen kann, wurde verbessert. Zuvor zeigte die Anwendung ausgefüllte Passwortfelder auf der Checkout-Seite an, wenn ein nicht registrierter Benutzer zur Checkout-Seite zurückkehrte, nachdem er das E-Mail-Feld zum ersten Mal ausgefüllt hatte. GitHub-26903
- Dem Admin-Kopfzeilen-
AdminNotification
Symbolleistenblock wurde ein fehlendesaclResource
-Attribut hinzugefügt. Zuvor war der Eintrag in der Admin-Benachrichtigungs-Symbolleiste sichtbar, auch wenn der Admin-Benutzer nicht über die Rollenressourcenberechtigungen verfügt, um ihn anzuzeigen. GitHub-29067
- Die
framework/database/select
where
Funktionen behandelntype
jetzt korrekt. GitHub-29590
- Die ineffiziente Verwendung von
array_merge
in Schleifen wurde in der gesamten Code-Basis verbessert, was die Leistung an mehreren Stellen verbessert hat, einschließlich beim Bereitstellungsprozess statischer Inhalte. GitHub-30183
- Die standardmäßige Lebensdauer der Admin-Sitzung wurde vom Verschlüsselungsmodul in das Sicherheitsmodul verschoben. GitHub-30859
- Die Anwendung sucht jetzt in einer Klasse nach privaten Konstanten und zeigt eine Warnung an, wenn
static::
Aufrufe an sie erfolgen. Zuvor gab die Anwendung den folgenden Fehler aus:Undefined class constant
.
- Unterstützung für symbolisch verknüpfte
root
in Fehlerseiten und im Wartungsmodus wurde hinzugefügt. Wenn dieroot
odermagento/pub
zuvor mit einem anderen Verzeichnis synchronisiert wurden, hat der Fehlerprozessor (Magento\Framework\Error\Processor
) keine richtige URL für die Ansichtsdatei generiert. GitHub-30296
- Fehlendes
order_data
-Array wurdeEmailSender
Klassen hinzugefügt. Dadurch werden diese Klassen mit der Empfehlung der Magento zur Verwendung von Skalarvariablen anstelle von Objekten in den E-Mail-Vorlagen in Einklang gebracht. GitHub-29604