Versionshinweise zu Magento Open Source 2.4.2
Magento Open Source 2.4.2 beinhaltet Verbesserungen der Leistung und Sicherheit sowie wesentliche Plattformverbesserungen. Zu den Sicherheitsverbesserungen gehört die Erweiterung der Unterstützung für das Attribut SameSite
für alle Cookies. Elasticsearch 7.9.x und Redis 6.x werden jetzt unterstützt.
Diese Version enthält über 280 neue Fehlerbehebungen im Kerncode und 35 Sicherheitsverbesserungen. Dazu gehört die Lösung von fast 290 GitHub-Problemen durch unsere Community-Mitglieder. Diese Community-Beiträge reichen von der geringfügigen Bereinigung des Kerncodes bis hin zu wesentlichen Verbesserungen in GraphQL.
Alle bekannten Probleme, die in Version 2.4.1 identifiziert wurden, wurden in dieser Version behoben.
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 .
Sicherheits-Patch verfügbar
Händler können jetzt zeitkritische Sicherheitskorrekturen installieren, ohne die Hunderte von funktionalen Fehlerbehebungen und Verbesserungen anzuwenden, die in einer vierteljährlichen Version bereitgestellt werden (z. B. 2.4.1-p1). Patch 2.4.0.12 (Composer-Paket 2.4.1-p1) ist ein Sicherheits-Patch, der Fehlerkorrekturen für Schwachstellen enthält, 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 stellt eine Korrektur für eine veröffentlichte Version bereit, die ein bestimmtes Problem oder einen Fehler behebt.)
Allgemeine Informationen zu Sicherheits-Patches finden Sie unter Einführung der neuen Sicherheits-Patch-Version. Anweisungen zum Herunterladen und Anwenden von Sicherheits-Patches (einschließlich Patch 2.4.1-p1) finden Sie unter Schnellstart für die Installation vor Ort. Sicherheits-Patches enthalten nur Fehlerkorrekturen, 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 wird, werden mehrere dieser Projekte (z. B. Progressive Webs Application (PWA) Studio) ebenfalls unabhängig 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
Beachten Sie die folgenden Highlights in dieser Version.
Wesentliche Sicherheitsverbesserungen
Diese Version umfasst mehr als 35 Sicherheitsverbesserungen und Verbesserungen der Plattformsicherheit. Alle Sicherheitskorrekturen wurden auf 2.4.1-p1 und 2.3.6-p1 zurückportiert.
Mehr als 35 Sicherheitsverbesserungen, die die Ausführung von Remote-Code (RCE) und Sicherheitslücken bei Cross-Site-Scripting (XSS) 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
Zu den Sicherheitsverbesserungen für diese Version gehören:
-
Alle Core-Cookies unterstützen jetzt das Attribut
SameSite
. -
Das Programm zeigt jetzt Meldungen an, die potenziell schädliche Inhalte in den Feldern für Produkt- und Kategoriebeschreibungen identifizieren, wenn der Benutzer versucht, Werte in diesen Feldern zu speichern.
-
Dateisystemvorgänge wurden über verschiedene Komponenten hinweg standardisiert und gehärtet, um schädliche 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 die folgenden 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 wir empfehlen, Elasticsearch 7.9.x auszuführen, bleibt Version 2.4.x mit Elasticsearch 7.4.x kompatibel.
-
2.4.2 wurde mit Varnish 6.4 getestet. Version 2.4.x ist weiterhin mit Version 6.x kompatibel.
-
Redis 6.x wird jetzt unterstützt. Version 2.4.x ist weiterhin mit Redis 5.x kompatibel.
-
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 des Lebenszyklus 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 eine geteilte Datenbank verwenden, sollten mit der Planung beginnen, zu einer einzigen Datenbank zurückzukehren oder zu dieser zu migrieren, oder einen alternativen Ansatz verwenden. Eine Übersicht zu diesem Problem finden Sie im Beitrag Veraltete Funktionalität der geteilten Datenbank in Magento Open Source DevBlog . Anweisungen zur Migration finden Sie unter Wiederherstellen von einer geteilten Datenbank in eine einzelne Datenbank .
Leistungsverbesserungen
Diese Version enthält Codeverbesserungen, die die API-Leistung steigern und die Reaktionszeit von Administratoren für Bereitstellungen mit großen Katalogen verkürzen. Dank der verschiedenen Erweiterungen der Skalierbarkeit kann 2.4.2 nativ komplexe Kataloge unterstützen, die bis zu 20-mal größer sind als in früheren Versionen.
Adobe Stock-Integration
Diese Version beinhaltet die Adobe Stock-Integration Version 2.1.1.
GraphQL
Diese Version bietet GraphQL-Unterstützung für die folgenden Funktionen:
-
Unterstützung für Vergleichslisten hinzugefügt. Käufer können Vergleichslistenund löschen und Elemente hinzufügen und entfernen zu den Vergleichslisten hinzufügen. Darüber hinaus können sich Käufer, die eine Vergleichsliste als Gastbenutzer erstellen, als Kunde anmelden und ihre Vergleichslisten beibehalten.
-
Die Mutation
generateCustomerTokenAsAdmin
wurde hinzugefügt und das ObjektCustomer
wurde aktualisiert, um Unterstützung beim Remote-Einkauf zu unterstützen. -
Lokalisierungsunterstützung in verschiedenen Geschäften hinzugefügt, um Aufgaben wie das Ändern von Sprachen, Warenkorb und Währungen zu unterstützen.
-
Unterstützung für Vereinigungen in GraphQL hinzugefügt. GitHub-29425
-
Das GraphQL-Schema wurde verbessert, um den Abruf von Produktdaten für konfigurierbare Produkte mit vielen Varianten zu optimieren.
-
Objektkennungen vom Typ Ganzzahl werden nicht mehr zugunsten von
uid
Attributen des Typs ID unterstützt. -
Das Attribut
staging
wurde zu den AttributenProductInterface
undCategoryInterface
hinzugefügt, um zu ermitteln, ob ein Produkt bereitgestellt ist, und um die zugehörigen Kampagneninformationen anzuzeigen.
Weitere Informationen zu diesen Verbesserungen finden Sie im GraphQL-Entwicklerhandbuch .
PWA Studio
Diese Version von PWA Studio umfasst:
-
Internationalisierung und Lokalisierung. Venia unterstützt jetzt mehrere Sprachen und Währungen.
-
Verbessertes Erweiterbarkeits-Framework zur Unterstützung von Codeänderungen über Erweiterungen.
-
Anfängliche Komponenten für My Account-bezogene Funktionen wie Wishlist, 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 ihrer kompatiblen Versionen.
Media Gallery
Neue Rollenressourcen für die Mediengalerie. Diese Version bietet Händlern die Möglichkeit, den Administratorzugriff auf die Mediensalerie zu beschränken und zu steuern, wer diese Aktionen durchführen kann:
-
Medien-Assets in Inhalte einfügen
-
Hochladen von Assets
-
Asset-Details bearbeiten
-
Löschen von Assets aus der Media Gallery
-
Ordnerstruktur verwalten
Web-optimierte Bilder im Inhalt. Merchants können jetzt Web-optimierte Bilddarstellung in Inhalten anstelle von hochauflösenden Bildern verwenden. Das Originalbild bleibt in der Media Gallery unverändert und die Bilddarstellung wird dynamisch generiert, wenn das Bild in den Inhalt eingefügt wird.
Functional Testing Framework (MFTF)
MFTF 3.2.1 ist jetzt verfügbar. Mit dieser Version wird eine Fehlertoleranz sowohl bei Tests als auch bei der Testsuite-Generierung eingeführt. Weitere Verbesserungen und Fehlerkorrekturen werden im Functional Testing Framework Changelog beschrieben.
Von Anbietern entwickelte Erweiterungen
In den folgenden Artikeln finden Sie Aktualisierungen zu Funktionen und Änderungen für diese Version:
AWS S3-Support-Verbesserungen
Die Unterstützung für den Amazon Simple Storage Service (AWS S3) wurde verbessert und umfasst jetzt Unterstützung für:
-
Objektspeicherung und künftige Erweiterbarkeit
-
Speichern von Mediendateien auf AWS S3
Behobene Probleme
Wir haben Hunderte von Problemen im 2.4.2-Kerncode behoben.
Installation, Aktualisierung, Bereitstellung
- Die Möglichkeit, eine Installation für die Verwendung einer geteilten Datenbank zu konfigurieren, wird in dieser Version nicht mehr unterstützt. Weitere Informationen finden Sie unter Veraltete Funktionalität der geteilten Datenbank in Magento Open Source DevBlog-Beitrag.
- Merchants können jetzt erfolgreich eine Open Source-Bereitstellung aktualisieren, bei der MySQL 8.x ausgeführt wird, und auf eine Commerce-Bereitstellung aktualisieren. Zuvor hatte die Anwendung eine Ausnahme ausgelöst, wenn
AUTO_INCREMENT
-Werte für alle Tabellen, in denen während der Aktualisierungrow_id
hinzugefügt wurde, auf Anfangswerte zurückgesetzt wurden.
- Die Anwendung zeigt jetzt eine Fehlermeldung an, die den Pfad angibt, der zum Erstellen des Patches verwendet wurde, wenn bei Ausführung von
bin/magento/setup:db:generate-patch
ein Fehler auftritt. GitHub-27523
- Die Caches
block_html
,full_page
undlayout
werden jetzt wie erwartet nach der Ausführung vonbin/magento/setup:upgrade
deaktiviert. GitHub-28186
- Die erforderliche PHP-Mindestversion in
bootstrap.php
wurde aktualisiert. GitHub-30004
- Sie können nun
bin/magento/setup:upgrade
ausführen, nachdem Sie Beispieldaten installiert haben. Bisher wurde in der Anwendung beim Versuch,bin/magento/setup:upgrade
auszuführen, folgender Fehler angezeigt:unable to apply data patch magento\catalogrulesampledata\setup\patch\data\installcatalogrulesampledata for module magento_catalogrulesampledata
. Der Fehler wurde auch im Systemprotokoll angezeigt:main.ERROR: Sample Data error: Unable to unserialize value. Error: Syntax error
. GitHub-30685
- Sie können jetzt in der Befehlszeile einen YouTube-API-Schlüssel wie erwartet festlegen. Zuvor gab die Anwendung diesen Fehler zurück, als Sie versuchten,
bin/magento config:sensitive:set catalog/product_video/youtube_api_key
:There are no sensitive configurations to fill
auszuführen.
- Die Anwendung berücksichtigt jetzt die in
queue_consumer.xml
definiertenmaxMessages
-Werte. Zuvor verwendete die Anwendung nur die Konfigurationswerte der Bereitstellung. GitHub-29522
- Die URL-Generierung für einen neuen Store funktioniert jetzt erwartungsgemäß, 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,
backend-frontname
nach der Installation von Magento Open Source mithilfe desssh
-Containers zu ändern. 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
- 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 Mediengalerie klicken, wird nicht mehr gefiltert. Zuvor enthielt die Standardansicht einen Filter, der vom
url-filter
-Operator angewendet wurde. GitHub-1813, GitHub-1789, GitHub-1780
- Die Logik wurde aus dem WYSIWYG OnInsert-Controller (
Magento\Cms\Controller\Adminhtml\Wysiwyg\Images\OnInsert::execute()
) entfernt und zum ModellModel\Wysiwyg\Images\PrepareImage::execute()
hinzugefügt. GitHub-1504
- Die Bereichsemulation wurde aus dem Befehl
media-content:sync
(\Magento\MediaContentSynchronization\Console\Command\Synchronize::execute
) entfernt. GitHub-1784
Analytics
- Die erweiterte Berichterstellung funktioniert jetzt wie erwartet für mehrere Umgebungen in derselben Domäne. Zuvor schlugen CSV-Dateien, die von der erweiterten Berichterstellung generiert wurden, fehl, da doppelte Anführungszeichen mit umgekehrten Schrägstrichen und nicht mit einem weiteren doppelten Anführungszeichen maskiert wurden, wie es der CSV-Standard RFC4180 vorschreibt.
- Der
analytics_collect_data
-Auftrag wird jetzt erfolgreich ausgeführt, wenn inenv.php
entweder der standardmäßige oder der nicht standardmäßige Port für die Verbindung mit MySQL verwendet wird. Zuvor hatanalytics_collect_data
einen Fehler ausgegeben, wenn Sie den nicht standardmäßigen Port verwendet haben.
- CSV-Dateien, die von
analytics_collect_data
generiert werden, werden jetzt ordnungsgemäß maskiert. Zuvor wurden diese Dateien nicht mit der korrekten Maskierung generiert, was die Erstellung von Lagerbestandsberichten verhinderte.
Braintree
-
Käufer können jetzt Apple Pay verwenden, um virtuelle Produkte erfolgreich zu bestellen. Zuvor hatte die Anwendung den folgenden Fehler ausgegeben:
There are no shipping methods available for you right now. Please try again or use an alternative payment method
. -
Die standardmäßige Zahlungsmethode PayPal Express Checkout funktioniert jetzt wie erwartet mit der Braintree-Kreditkartenzahlmethode. Zuvor wurde in der Anwendung die Schaltfläche PayPal nicht angezeigt, wenn die Braintree-Kreditkartenzahlungsmethode aktiviert war.
Paketprodukte
- Die Anwendung legt die Preise für untergeordnete Artikel von Paketen mit festen Preisen nicht mehr in Anführungszeichen.
- Die Preissortierung funktioniert jetzt wie erwartet, wenn Bundle-Produkte nicht vorrätige Produkte enthalten. Zuvor wurden bei der Sortierung des Preises in absteigender Reihenfolge keine Produkte in der Reihenfolge des niedrigeren Preises 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 zum Erstellen der Bestellrechnung werden nun die untergeordneten Produkte für Bundle-Produkte wie erwartet angezeigt. GitHub-27350
- Die Anwendung weist jetzt korrekte Produktpreise zu, wenn Sie einfache Produkte, die Teil eines Bundle-Produkts sind, mit einem benutzerdefinierten Preis neu bestellen. Zuvor führte die Festlegung eines benutzerspezifischen Preises für ein Bundle-Produkt zu falschen Preisen für angehängte einfache Produkte bei einer Neubestellung. GitHub-30343
- Der Aufruf von POST
/V1/order/{orderId}/ship
zum Versand einer Bestellung, die ein Bundle-Produkt enthält, markiert die Bestellung nun wie erwartet vollständig. Zuvor wurde in der Anwendung folgende Fehlermeldung angezeigt:You can't create a shipment without products
. GitHub-9762
Warenkorb und Checkout
- Die Schätzung der Versandmethode funktioniert jetzt erwartungsgemäß, wenn im Versandschritt des Checkout-Workflows benutzerdefinierte Adressattribute vorhanden sind. Zuvor wurde in der Anwendung folgende 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 nun die Meldung
You have no items in your shopping cart
im Mini-Warenkorb an, wie erwartet, wenn ein Käufer den einzigen Artikel in seinem Warenkorb entfernt. Bisher wurden die Warenkorbdaten nicht fürcheckout/cart/removeFailed
aktualisiert, wenn ein Käufer das einzelne Element entfernte und die Anwendung die folgende Meldung anzeigte:1 product requires your attention
.
- Die Anwendung zeigt die Versandkosten für eine Bestellung einer nicht anwendbaren Versandmethode nicht mehr an. Zuvor zeigte die Anwendung im Checkout-Workflow einen Preis von 0 für eine nicht anwendbare Versandmethode an.
- Die Standardabrechnungsadresse eines Kunden wird jetzt ausgewählt, wenn das Kontrollkästchen Meine Abrechnungs- und Versandadresse sind dieselben im Checkout-Workflow deaktiviert ist.
- Der Inhalt des Warenkorbs geht nicht mehr verloren, wenn ein Käufer in einer anderen Domäne von einem Store zum anderen wechselt.
- Käufer können jetzt eine Bestellung mit "Check Out with Multiple Addresses"erfolgreich abschließen, wenn sie mehrere Versandmethoden verwenden. Zuvor wurde in der Anwendung folgender 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 Store-Ansicht aus dem Warenkorb ändert.
- Die Anwendung schließt jetzt die aktuelle Sitzung aus, wenn Kundensitzungen nach einem Zurücksetzen des Kennworts 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 Store-Ansicht an, wenn ein Käufer die Store-Ansicht im Warenkorb ändert. Bisher war das Standardland falsch, wenn die Store-Ansicht im Warenkorb geändert wurde.
- Redundante Aufrufe an den
/rest/V1/guest-carts/cart_id/totals-information
-Endpunkt auf dem Warenkorb wurden entfernt, was die Warenkorbleistung verbessert hat. Zuvor, als ein Käufer ein Produkt zum Warenkorb hinzufügte und anschließend den Warenkorb anzeigte, wurde die Anwendung mehrmals alscollectAddressTotals
-Methode bezeichnet.
- Die Anwendung zeigt das Feld Region für ein Land im Checkout-Workflow nicht mehr an, wenn die Einstellung Status auswählen lassen, wenn es für Land optional ist. GitHub-30747
- Die Anwendung wiederholt keine Versandadresse mehr im Workflow zur Kasse der Storefront, wenn eine Bestellung vom Administrator neu bestellt wird.
- Fehlerkorrektur - Das Design von
AdminMediaGalleryInsertLargeImageFileSizeTest
funktioniert jetzt einwandfrei.
- Allen neuen Datensätzen in der Tabelle
quote
für Gäste wird jetzt der Wert 1 imcustomer_is_guest field
zugewiesen. Zuvor wurde jedem neuen Gastbenutzer, der ein Produkt zum Warenkorb hinzugefügt hat, im Feldquote.customer_is_guest
eine 0 zugewiesen.
- Die Schaltfläche Senden im Abschnitt "Überprüfung und Zahlungen"des Checkout-Workflows wurde in
<form id="purchaseorder-form"...></form>
verschoben, wodurch die implizite Formularübermittlung möglich ist, ohne dass JavaScript geändert werden muss. GitHub-27925
- Die Anwendung zeigt das Feld Region nicht mehr im Checkout-Workflow an, wenn die Einstellung Status auswählen lassen, wenn es für Land optional ist, deaktiviert ist. GitHub-30747
- Die Anwendung aktualisiert nun die Zwischensumme der Artikel eines Warenkorbs korrekt, wenn ein Käufer beim Auschecken mit mehreren Adressen auf 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 hat die Anwendung beim Checkout eine Ausnahme ausgelöst. GitHub-29555
- Die Anwendung rendert nun Produktnamen, die Sonderzeichen enthalten, korrekt im Mini-Warenkorb. GitHub-29075
- Die Anwendung legt jetzt das richtige Rabattpaket für die Tabellenrate fest. Zuvor hatte die Anwendung keine Warenkorbregel angewendet, die bei der Berechnung der Tabellenrate einen Rabatt auf den Warenkorb festlegte. GitHub-30169
Preisregel für Warenkorb
- Die Preisregeln für Warenkorb werden nun wie erwartet angewendet, wenn die Bestelluntersummen ohne Berücksichtigung der Steuer berechnet werden. Die neue
Subtotal (Incl. Tax)
-Option wurde als Regelbedingung für den Warenkorbpreis hinzugefügt.
- Die Anwendung einer Preisregel mit einem Coupon mithilfe von GraphQL funktioniert jetzt erwartungsgemäß, wenn die Aktion Fester Rabatt für ganzen Warenkorb verwendet wird.
Katalog
- Die Anwendung zeigt nun alle erneut aktivierten Produkte wie erwartet im Storefront an. Wenn zuvor ein Produkt deaktiviert und dann erneut aktiviert wurde, zeigte die Anwendung das Produkt erst an, nachdem der Cache für die entfernte Seite gelöscht oder der Store neu indiziert wurde, da der Seiten-Cache nach der erneuten Aktivierung eines Produkts nicht invalidiert wurde.
- Die teilweise Neuindizierung großer Kataloge funktioniert jetzt erwartungsgemäß. Zuvor wurden Produkte während der Neuindizierung mit dem partiellen Indexer
catalogsearch_fulltext
zufällig von der Seite der Storefront-Kategorie verschwunden.
- Käufer können jetzt eine in Rechnung gestellte Bestellung eines Produkts mit anpassbaren Optionen wie erwartet neu anordnen. Zuvor gab die Anwendung diesen Fehler aus, als ein Käufer versuchte, die Bestellung neu zu ordnen:
{"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 Keine Layoutaktualisierungen festlegen. Zuvor wurde die Anwendung auf Kategorie - FullWidth zurückgesetzt, als Sie den Wert Keine Layout-Aktualisierungen zugewiesen haben.
- Probleme mit der Sortierungsreihenfolge von Produkten auf der Storefront wurden behoben. Zuvor wurde bei der Indexierung der Produktpreise in der Anwendung gelegentlich der Wert
min_price
und der Wertmax_price
eines konfigurierbaren Produkts in der Tabellecatalog_product_index_price
auf 0 gesetzt, was sich auf die Sortierreihenfolge der Preise im Storefront auswirkte.
- Die Anwendung aktualisiert jetzt erfolgreich Attribute mit der Bezeichnung
Product Type
. Da zuvor das Attributproduct_type
im Code reserviert war, wurde diese Meldung in der Anwendung angezeigt, als Sie versuchten, ein AttributProduct Type
zu aktualisieren:An attribute with the same code (product_type) already exists.
- Die Anwendung ändert beim Speichern des Produkts nicht mehr die Position eines hochgeladenen Videos im Abschnitt "Bilder und Videos"der Produktdetailseite. Zuvor wurde der neuen Bildposition ein Indexwert zugewiesen (Position in der Liste). Wenn vorhandene Bildpositionen nicht mit ihren Indizierungswerten ausgerichtet waren, wurde das neue Bild in der Liste falsch platziert.
- Die Funktion Zum Warenkorb hinzufügen funktioniert jetzt erwartungsgemäß, 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 darauf gewartet haben, dass eine Produktseite geladen wird, hat die Anwendung den folgenden Fehler ausgegeben:
Invalid Form Key. Please refresh the page
.
- Die Anwendung löscht den Kategoriecache nicht mehr, wenn ein Händler deaktivierte Produkte zu oder aus einer Kategorie hinzufügt oder entfernt. Zuvor geleert die Anwendung den Cache für verwandte Kategorien trotz des Produktstatus. Kategorien wurden auch beim Speichern einer Kategorie nicht zugewiesen, was zum Leeren des Kategorie-Caches führte.
- Die Filterung von Katalogprodukten im Bereich Alle Speicheransichten funktioniert jetzt ordnungsgemäß. Zuvor wurden Produkte mit dem Status
Enabled
oderDisabled
im Raster angezeigt, während die Filterung nur aktivierte oder deaktivierte Produkte umfasste.
- Eine teilweise Neuindizierung führt nicht mehr zu verpassten Produkten und leeren Kategorien.
- Die Neuanordnung funktioniert jetzt erwartungsgemäß, wenn JavaScript-Kalender verwenden aktiviert ist (Speicher > Konfiguration > Katalog > Benutzerdefinierte Optionen für Datum und Uhrzeit). Bisher wurde bei Aktivierung dieser Einstellung dieser Fehler in der Anwendung angezeigt, als Sie versuchten, die zuvor platzierte Bestellung vom Administrator erneut anzuordnen:
Please specify date required option(s)
.
- Die Anwendung zeigt jetzt die richtige Währung in Multi-Site-Implementierungen während der Erstellung von Tier-Preisen an.
- Benutzerdefinierte Produktbild-Attribute werden jetzt korrekt maskiert. Das Attribut
data-src
hat wie erwartet denselben Wert wie das Attributsrc
. Zuvor wurden URL-Sonderzeichen mit Escape-Zeichen versehen.
- Wenn Sie eine Kategorie über die REST-API aktualisieren, wird die Einstellung Standardwert verwenden für die Attribute "Kategorie aktivieren", "Im Menü einschließen"und "URL-Schlüssel"nicht mehr deaktiviert.
- Beim Speichern einer Kategorie wird jetzt nur der Block-Cache geleert, der sich auf diese Kategorie bezieht. Zuvor hat die Anwendung den Cache für alle Kategorieblöcke geleert.
- Der Preis einer benutzerdefinierten Option mit einem Prozentpreis wird jetzt in Multi-Store-Bereitstellungen erwartungsgemäß in die Basiswährung des aktiven Stores konvertiert. Zuvor wurde der Preis einer benutzerdefinierten Option mit einem Prozentpreis falsch konvertiert. GitHub-26432
- Die Anwendung erstellt jetzt erfolgreich Bilder. Diese Bilder sind wie erwartet im Admin sichtbar, wenn ein Händler Mediensalerie-Daten mit POST
rest/all/V1/products
sendet. Zuvor hat das Programm die Bilder neu erstellt, sie jedoch gelöscht, wenn ein Händler Mediensegmentardaten ü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 noch Datensätze für diese Bilder enthielten. Daher sah der Händler nur Platzhalter im Admin, da die Bilder während des Aktualisierungsprozesses erstellt und gelöscht wurden.
- Datensätze werden nun erwartungsgemäß gelöscht, wenn Sie die Zuweisung eines Elements von einer Website aufheben. 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 zuvor 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 REST-Endpunkt
/V1/products/attributes/:attributeCode/options
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 konvertiert. Zuvor wurde der Preis einer benutzerdefinierten Option mit einem Prozentpreis falsch konvertiert. GitHub-26432
- Merchants können jetzt bei der Produkterstellung erfolgreich ein neues Attribut speichern. Zuvor hat die Anwendung das Attribut nicht gespeichert und den Händler zur Homepage der Store-Ansicht weitergeleitet, als er versuchte, das Attribut zu speichern. GitHub-30362
- Das Produktraster auf den Seiten Verkauf > Bestellungen und Katalog > Produkte listet jetzt alle relevanten Stores auf, 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 Produktrepository-Klasse die Produkt-Store-ID überschrieben und immer die standardmäßige Store-ID zugewiesen. GitHub-29933
Katalogregel
- Katalogpreisregeln funktionieren jetzt erwartungsgemäß mit benutzerdefinierten Optionen auf Produktdetailseiten. Zuvor entsprachen die Produktpreise auf dieser Seite nicht den anwendbaren Katalogpreisregeln. GitHub-22856
- Produkt- und Katalog-Caches laufen jetzt wie geplant ab. Zuvor liefen die Caches täglich ab, da
сron
die Aufgabecatalogrule_apply_all
einmal täglich ausgeführt hat, wodurch alle Katalogregeln und abhängigen Indexer neu indiziert und der Cache für alle Produkte und Kategorien gelöscht wurde.
Bereinigung
Typo- und Grammatikbereinigung
- Der Titel der Seite "Auftragsfehler"wurde auf Genauigkeit überarbeitet. Zuvor hatte diese Seite den Titel: Wir haben Ihre Bestellung erhalten!. GitHub-29416
- Es wurden unnötige Leerzeichen in
app/code/Magento/Contact/view/frontend/templates/form.phtml
entfernt. GitHub-29779
- Korrektur eines Tippfehlers in der Hilfemeldung für den Unterbefehl
bin/magento/setup:config:set
. GitHub-28802
- Die Grammatik in PHPDoc für die Datei
framework/Registry.php
wurde korrigiert. GitHub-29661
- Fremdweiße Leerzeichen aus
app/code/Magento/Catalog/Helper/Product/View.php
entfernt. GitHub-30601
- Korrektur eines Tippfehlers in einem Funktionsnamen in
app/code/Magento/Ui/view/base/web/js/form/element/ui-select.js
. GitHub-29987
- Die Pluralisierung des "Artikels"im Mini-Warenkorb und in der Zusammenfassung der Bestellungen für den Kassengang wurde korrigiert. GitHub-29920
- Whitespace wurde in Inline-Elementen in Navigationsfiltern mit Markup-Ebenen entfernt. GitHub-30448
rl
wurde in\Magento\Framework\Filter\Template\Tokenizer\Parameter
aufurl
korrigiert. GitHub-29185
Code-Bereinigung
- Ein irrelevantes HTML
<br>
-Tag wurde aus dem Bereich "Datenprüfungsmeldung"auf der Seite System > Import entfernt.
ChangeQuoteControl
wurde umgestaltet. GitHub-29673
AccessChangeQuoteControl
und die zugehörigen Komponententests wurden umgestaltet. GitHub-29672
- Der Code-Stil der Rückgabetypdeklaration in
app/code/Magento/Captcha/CustomerData/Captcha.php
wurde korrigiert. GitHub-29712
- Die Position der Schaltflächenliste auf der Seite "Neues Attribut"wurde korrigiert.
- Die richtige Blockklasse für das Frontend
viewModel
-Referenzbeispiel für die\Magento\Framework\View\Element\Template
-Klasse wurde hinzugefügt. GitHub-30450
- Ein redundantes Feldset im Formular Verkaufsregel wurde entfernt. GitHub-29599
- Unerforderlicher Code wurde aus der
hierarchy/edit.phtml
-Vorlage entfernt.
- Korrektur des PHPdoc-Kommentars in
app/code/Magento/CatalogImportExport/Model/Export/Product.php
. GitHub-30833
- Die Dokumentblock-Anmerkung für die Meldung
PublisherInterface
wurde korrigiert. GitHub-30190
- Die Argumente in der
getStatusByState
-Methode wurden korrigiert. 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
wurde inEntityAbstract.php
in@param AbstractAttribute|string[]|string $attribute
geändert. GitHub-30191
- Ungültige Tags (z. B.
@package
und@subpackage
) wurden in der gesamten Codebasis aus Dokumentblöcken entfernt. GitHub-30061
- Nicht verwendete Parameter im Konstrukt der
AdvancedPricing
-Klasse wurden entfernt. GitHub-29531
Konfigurierbare Produkte
- Wenn Sie nicht vorrätig konfigurierbare Produkte nach Preis filtern, werden jetzt Ergebnisse innerhalb der richtigen Preisspanne angezeigt.
- Ein virtuelles Produkt ändert den Typ nicht mehr, wenn sein Status von "Aktiviert"in "Deaktiviert"geändert wird (oder umgekehrt). Zuvor änderte die Anwendung den Typ eines Produkts von "virtuell"in "einfach", wenn sich sein Status änderte.
- Bei der Methode
getValue()
wird beim Aktualisieren von Warenkörben kein schwerwiegender Fehler mehr Trigger.
- 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
- Auf Storefront-Produktseiten werden jetzt Stufenpreise ohne Steuern wie erwartet angezeigt. GitHub-12225
- MSRP-Preise für konfigurierbare Produkte werden jetzt korrekt in die gewählte Währung konvertiert. Zuvor zeigte die Anwendung die Preise in der falschen Währung an und gab folgenden Fehler aus:
Call to a member function setAppliedTaxes() on null
. GitHub-26526, GitHub-29603
- Merchants können jetzt eine Store-spezifische Beschriftung für die Attributoption "Textmuster"mit dem Wert 0 (null) speichern. Zuvor wurde der Wert 0 durch den Optionswert Admin-Beschriftung ersetzt. GitHub-30073
cron
- Die Liste "Systemmeldung"gibt nun Produktaktualisierungen genau an, nachdem
cron
ausgeführt wurde und die Anwendung die Produkte wie geplant aktualisiert hat.
- Der Tabelle
cron_schedule
wurde ein aufschedule_id
undstatus
basierender Index hinzugefügt. GitHub-29601
Benutzerdefinierte Kundenattribute
- Die Anwendung zeigt jetzt nach der Erstellung Kundenattribute des Typs
file
auf der Seite "Kontoinformationen"an. Zuvor wurden beim Versuch, ein neues Attribut dieses Typs zu speichern, folgende Fehler in der Anwendung 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.
- In der Anwendung werden Käufer jetzt benachrichtigt, wenn sie beim Erstellen eines Kontos ein ungültiges Geburtsdatum eingeben. Zuvor hat der Validator die Gebietsschemaeinstellungen ignoriert und Käufer mit einem ungültigen Datumsfehler zur Seite Neues Kundenkonto erstellen weitergeleitet.
- Benutzerdefinierte Adressattribute sind jetzt wie erwartet im Zahlungsschritt des Checkout-Workflows enthalten.
- Benutzerdefinierte Adressen mit Mehrfachauswahl-Attributen werden jetzt beim Gast-Checkout und auf der Seite mit den Details zur Bestellung in "Admin"und "Mein Konto"korrekt angezeigt.
- Sie können jetzt eine vorangestellte 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 Geschlechterattributwert enthalten.
Kunde
- Das Kalender-Widget für das Feld "Geburtsdatum des Storefront-Kundenkontos"verwendet jetzt das dafür vorgesehene Store-Gebietsschema.
- Die Anwendung speichert beim Auschecken einer Neubestellung eines bestehenden Kunden vom Administrator keine doppelten Einträge einer Kundenadresse mehr.
- Durch das Löschen aller Adressen von mehreren Kunden aus dem Admin werden jetzt alle Adressen aus der Liste der Kundenadressen gelöscht und die standardmäßigen Abrechnungs- und Versandadressen entfernt. Zuvor hat die Anwendung die Adresse aus der Liste der Kundenadressen gelöscht, aber nicht die standardmäßigen Abrechnungs- und Versandadressen entfernt.
- Im Tab Kundenadresse Admin wird nun die Anzahl der Adressen korrekt angezeigt, nachdem ein Administrator eine Massenlöschung von Adressen durchgeführt hat. Zuvor umfasste die Anwendung gelöschte Adressen in die Zählung.
- Das DateTime-Format für das Feld Geburtsdatum auf der Seite zur Kundenregistrierung wurde korrigiert. Zuvor fehlte die vorangestellte Null, die einem einstelligen Tag vorausging.
- Die Validierung des Datumsformats für das Feld Geburtsdatum funktioniert jetzt, bevor der Kä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 für ungültiges Datum 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 Magento Shipping bereits installiert war und das standardmäßige Luma-Design derzeit bereitgestellt ist, auf seinen Warenkorb zuzugreifen. Zuvor hat die Anwendung keine Abschnittsnamen herausgefiltert, 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 Nachricht 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 war diese Art der Anpassung des Benutzerregistrierungsprozesses in der Anwendung nicht zulässig. 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 Käufer der richtigen Kundengruppe zu, wenn der Käufer eine Bestellung mit einer nicht standardmäßigen Kundengruppe in einem Store aufgibt, in dem Automatische Zuweisung zur 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, wenn Indizes auf Von Plan 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 Fehlerbehebung beim Abrufen von Programmlisten aus der dotdigital Engagement Cloud wurde verbessert.
-
Der Wert, der während der Gastsynchronisierung in der Spalte mit dem Store-Namen synchronisiert wird, ist jetzt der Name der Store-Ansicht wie erwartet. Zuvor war der Website-Name in dieser Spalte enthalten.
-
Es wurde eine Array-Prüfung hinzugefügt, bevor nach dem Speichern einer Bestellung eine Schleife über die Automatisierung des Bestellstatus ausgeführt wird.
-
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 vortoOptionArray()
aufgerufen wird. GitHub-29315
- Das Programm konvertiert jetzt beim Laden einer E-Mail-Vorlage den Klartext korrekt in HTML, wenn Sie auf HTML-Version zurückgeben klicken.
- E-Mails, die an Kunden gesendet werden, die teilweise Rechnungen enthalten, enthalten jetzt genaue Artikelsubsummen. Zuvor war die Zwischensumme in dieser E-Mail die Gesamtsumme der bestellten Menge, nicht die Gesamtsumme der in Rechnung gestellten Menge.
- Die Anwendung sendet jetzt E-Mail-Erinnerungen an alle relevanten Kunden mit gültigen E-Mail-Adressen. Zuvor sendete die Anwendung keine Erinnerungsnachrichten an Kunden, nachdem sie eine ungültige Adresse gefunden hatte.
- Das Senden von Verkaufs-E-Mails im asynchronen Modus funktioniert jetzt erwartungsgemäß, nachdem ein Produkt aus einem Katalog entfernt wurde. Zuvor war der asynchrone E-Mail-Versand blockiert, und die Anwendung zeigte diesen Fehler:
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 in eine E-Mail zur Bestellbestätigung, wenn
sales_email/order_comment/enabled
deaktiviert undsales_email/order_comment/copy_method
aufbcc
gesetzt ist. GitHub-29915
Frameworks
- Benutzerdefinierte Filtergruppen werden jetzt bei der Kundensuche korrekt angewendet. Zuvor hatte die Funktion
afterSearch
keine ODER-Filter wie erwartet. GitHub-24576
- Bilder auf der Startseite eines Stores werden jetzt erfolgreich gerendert. Zuvor war die HTML der Seitenquelle beschädigt, da die drei aufeinander folgenden Schrägstriche im base64-Code des Bildes fälschlicherweise als Kommentar interpretiert wurden.
- DatePicker funktioniert jetzt ordnungsgemäß, wenn Bestellungen in der Liste "Admin-Bestellungen"in Geschäften mit dem arabischen Gebietsschema (
ar_SA - Saudi Arabia
) gefiltert werden.
- DatePicker zeigt jetzt das richtige Datum an, nachdem ein Händler eine Warenkorbpreisregel in einer Bereitstellung gespeichert hat. GitHub-30382
- Die Anwendung stellt nun die arabischen Tausendergruppierungssymbole und die arabischen Dezimaltrennzeichen korrekt dar. Früher wurden arabische Symbole beschnitten. GitHub-26676
- Die Anwendung löscht nun abgelaufene Datenbanksitzungen erwartungsgemäß aus der Datenbank-Tabelle
session
.
Allgemeine Fehlerbehebungen
- Sie können jetzt einen nativen Sitzungs-Handler konfigurieren, der sich von dem in
php.ini
definierten Handler unterscheidet. Zuvor hatSessionManager
den Memcache nicht aufsave_handler
festgelegt, sondern stattdessen diesession_handler
der Datei verwendet. Die Anwendung hat diesen Fehler ausgegeben: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
-
Die folgenden Verbesserungen wurden an den
LoginAsCustomer
-Modulen vorgenommen:-
Das
around
-Plug-in wurde durchafter
ersetzt. -
Redundanten Code entfernt
-
(bool)->getValue()
durchisSetFlag
ersetzt. GitHub-29689
-
- Das Neuladen aller Bereiche mit Kundendaten mit einem Platzhalter (*) führt nicht mehr dazu, dass bei Anforderungen an
customer/section/load
ein 400-Fehler ausgegeben wird. GitHub-28154
- Die Anwendung übergibt jetzt Ausnahmen, die auftreten, wenn ein Layout im Produktionsmodus auf
var/report
gerendert wird. GitHub-29606
- Händler können die Zuweisung von Produkten aus Kategorien nun wie erwartet aufheben. Zuvor hatte die Anwendung einen Fehler ähnlich dem folgenden:
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 versucht, ein Kundenkonto zu speichern, das einen ungültigen Wert für ein Kundenattribut enthält, während eine Datei hochgeladen wird, die diesen Attributwert enthält. Zuvor hatte die Anwendung einen schwerwiegenden Fehler ausgelöst. GitHub-30295
- Die Anwendung wendet nun die Konfigurationseinstellung Logo für die HTML Print View an, um die PDF auf der Storefront-Rechnung zu speichern. GitHub-24730
static::
wurde in der gesamten Codebasis 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 Produkterstellung zweimal auf die Schaltfläche Neues Attribut erstellen klickt. Zuvor zeigte die Anwendung eine leere Seite an und gab einen Fehler aus. GitHub-30361
- Die Anwendung zeigt die Meldung
The coupon code has been accepted
nicht mehr an, nachdem ein Coupon entfernt wurde. GitHub-30255
- Administratoren können jetzt bestimmten Kategorien Widgets zuweisen. GitHub-30009
- Die Attributauswahl "
input[type=datetime]
" wurde durch eine weniger spezifische Typauswahl ersetzt. GitHub-30064
- Das Programm zeigt jetzt speicherspezifische Werte an, die erwartungsgemäß mit benutzerdefinierten Kategorieattributen verknüpft sind. GitHub-13440
- Der Antrag zeigt jetzt eine Eingabeaufforderung an, in der Sie gefragt werden, ob die Kundengruppe geändert werden soll, wenn Sie auf der Seite zur Bestellerstellung auf die Schaltfläche MwSt.-Nummer überprüfen klicken, wenn die Ladenadresse und der Versandort zu verschiedenen EU-Ländern gehören. GitHub-29652
- Die
\Magento\Catalog\Model\ImageUploader
-Klasse wurde überarbeitet, um die neuemoveFileFromTmp
-Methode zu verwenden. GitHub-29598
- Die Anwendung zeigt jetzt eine informativere 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 Überprüfungslogik für die Felder Lebensdauer des Kunden-Tokens (Stunden) und Lebensdauer des Administrationstokens (Stunden) auf der Seite Admin Speicher > Konfigurationen > Dienste > OAuth wurde korrigiert. GitHub-29502
- Die Anwendung analysiert jetzt korrekt Text, der im Widget-Inhaltsfeld
}}
enthält. GitHub-12087
- Sie können jetzt einen Filter von der Seite Produktkategorien entfernen. Zuvor haben Sie, als Sie versuchten, den Filter zu löschen, in der Anwendung den Filter nicht entfernt und diesen Fehler angezeigt:
Something went wrong
. GitHub-8538
Magento\Framework\MessageQueue\ConfigInterface
kann jetzt instanziiert werden, wenn das optionale ModulMagento_MessageQueue
deaktiviert ist. Zuvor hatte die Anwendung den folgenden Fehler ausgegeben: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 E-Mail-Werte aus beständigem Speicher abrufen kann, wurde verbessert. Zuvor zeigte die Anwendung auf der Checkout-Seite ausgefüllte Kennwortfelder an, wenn ein nicht registrierter Benutzer nach dem ersten Ausfüllen des E-Mail-Felds zur Checkout-Seite zurückkehrte. GitHub-26903
- Dem Symbolleistenblock Admin-Kopfzeile
AdminNotification
wurde ein fehlendes AttributaclResource
hinzugefügt. Zuvor war der Eintrag in der Admin-Benachrichtigungs-Symbolleiste auch dann sichtbar, wenn der Admin-Benutzer nicht über die Berechtigung für die Rollenressource verfügt, um ihn anzuzeigen. GitHub-29067
- Die Funktionen
framework/database/select
where
behandelntype
jetzt korrekt. GitHub-29590
- Die ineffiziente Verwendung von
array_merge
in Schleifen wurde in der gesamten Codebasis verbessert, was die Leistung an verschiedenen Stellen verbessert hat, einschließlich im Prozess der Bereitstellung statischer Inhalte. GitHub-30183
- Die Standardlebensdauer der Admin-Sitzung wurde vom Verschlüsselungsmodul zum Sicherheitsmodul verschoben. GitHub-30859
- Die Anwendung sucht nun in einer Klasse nach privaten Konstanten und zeigt eine Warnung an, wenn
static::
-Aufrufe vorhanden sind. Zuvor hatte die Anwendung den folgenden Fehler ausgegeben:Undefined class constant
.
- Unterstützung für symlinked
root
in Fehlerseiten und Wartungsmodus hinzugefügt. Wenn dieroot
odermagento/pub
zuvor mit einem anderen Verzeichnis verknüpft waren, generierte der Fehlerprozessor (Magento\Framework\Error\Processor
) keine korrekte URL für die Ansichtsdatei. GitHub-30296
- Fehlendes
order_data
-Array zuEmailSender
-Klassen hinzugefügt. Dadurch werden diese Klassen an die Magento-Empfehlung angepasst, um skalare Variablen anstelle von Objekten in den E-Mail-Vorlagen zu verwenden. GitHub-29604
GraphQL
- Der GraphQL URL-Resolver verarbeitet jetzt Abfrageparameter ordnungsgemäß. Zuvor wurde NULL zurückgegeben, wenn SEO-freundliche URLs mit Parametern verarbeitet wurden.
- Der GraphQL-URL-Resolver behandelt nun die CMS-Seitenhierarchie ordnungsgemäß. Zuvor wurde NULL zurückgegeben. GitHub-30474
- Bei Abfragen der
categories.breadcrumbs
-Daten eines Produkts werden keine Breadcrumb-Daten mehr für Kategorien zurückgegeben, deren übergeordnete Kategorie deaktiviert ist. GitHub-30468
- Der Pfad zu einem Kategoriebild wird jetzt korrekt zurückgegeben, wenn URL-Neuschreibungen deaktiviert sind.
- Die Anwendung gibt jetzt eine informativere Meldung zurück, wenn während eines GraphQL-Vorgangs zum Zurücksetzen des Kennworts ein Fehler mit auftritt. GitHub-30179
- Die Produktpositionen werden jetzt wie erwartet in den GraphQL-Abfrageergebnissen aktualisiert, wenn die Abfrageergebnisse zwischengespeichert werden.
- Die
products
-Abfrage gibt jetzt die erwarteten Ergebnisse zurück, wenn dercategory_id
-Filter mit dem Keywordin
angegeben. GitHub-30349
- Es wurden Regeln zu
editorconfig
hinzugefügt, um die Einbindung von JSON- und YAML-Dateien in zwei Leerzeichen zu unterstützen. GitHub-30066, GitHub-30063
- Die
FlushCacheByTags
-Klasse wurde aktualisiert, um Nachher-Plug-ins anstelle von Plug-ins zu verwenden. GitHub-29558
- Der Code in der Datei
checkout_index_index.xml
wurde verbessert, indem die KomponentensortOrder
ausmessages
,authentication
,progressBar
,estimation
undsidebar checkout
entfernt wurden. GitHub-30550
- Der Inhalt in
calc
ist jetzt maskiert, was zu korrektencalc
-Werten in der CSS-Ausgabedatei führt. Zuvor gab die Anwendung einen falschencalc
-Wert zurück. GitHub-30542
- Der URL-Neuschreibungsgenerator legt nun die Kategorieobjekte
url_key
,url_path
undstore_id
beim Speichern von Kategorie-URL-Neuschreibungen für den globalen Bereich auf die Standardspeicherwerte fest. Zuvor wurdenurl_key
,url_path
undstore_id
mit den Werten der zuletzt verarbeiteten Store-ID gespeichert. GitHub-29585#### Grouped products
- Die Produktabfrage gibt jetzt alle erwarteten Daten für gruppierte Produkte zurück. Zuvor war
product_links
ein leeres Array.
- Ein gruppiertes Produkt wird jetzt auf der Seite zur Produktbearbeitung als nicht vorrätig angezeigt, wenn alle untergeordneten einfachen Produkte nicht vorrätig sind.
- Der Status eines gruppierten Produkts wird jetzt auf der Seite zur Produktbearbeitung korrekt aktualisiert, wenn sich der Status seiner untergeordneten einfachen Produkte in nicht vorrätig ändert. Zuvor wurde der Lagerbestand für das übergeordnete Element des gruppierten Produkts nicht aktualisiert, nachdem seine untergeordneten Elemente den Lagerstatus geändert hatten.
\Magento\Widget\Controller\Adminhtml\Widget\Instance\Validate
erkennt jetzt einen Ergebniswert einer Wortgruppe als Fehlermeldung und gibt ihn während der Widget-Validierung an den Benutzer aus. GitHub-27397
- Die hartcodierte Liste von Kategorieattributen in
Magento\Catalog\Model\Category\DataProvider::getFieldsMap()
wurde durch eine Liste von Attributen ersetzt, die aus dem Cache generiert werden. GitHub-13440
- Das redundante Hashing von
req.http.host/client.ip
wurde entfernt und das Hashing wird vom integrierten VCL von Varnish verarbeitet. GitHub-29988
- Es wurde ein Fehler-Callback zum Uploader der Datei
Magento_Ui
hinzugefügt. GitHub-29557
- Eine
acl.xml
-Inkonsistenz, die auftrat, wennMagento_LoginAsCustomerAssistance
aktiviert, aberMagento_LoginAsCustomerAdminUi
oderMagento_LoginAsCustomerLog
deaktiviert war, wurde korrigiert. Zuvor, als ein Administrator mit diesen Anmeldedaten versuchte, sich beim Administrator anzumelden, zeigte die Anwendung eine leere Seite an und gab diesen Fehler aus, wenn :Exception #0 (LogicException): Could not create an acl object: Invalid Document Element 'resource': The attribute 'title' is required but missing. Line: 13
. GitHub-30680
- Die Anwendung gibt keinen
Undefined class constant
-Fehler mehr aus, wenn während der Plug-in-Erstellung einInterceptor
generiert wird. GitHub-28981, GitHub-29879
- Die Anwendung verarbeitet jetzt die Nachrichten und Protokollierung für asynchrone Massenvorgänge ordnungsgemäß. Zuvor wurden die Tabellen
magento_operation
undqueue_message_status
zwar aktualisiert, aber nicht ordnungsgemäß und die Systemmeldungen waren falsch. GitHub-29718
- Ein Käufer wird nun wie erwartet zur Seite Neues Kennwort festlegen weitergeleitet, wenn er in der E-Mail zum Zurücksetzen des Kennworts auf Neues Kennwort festlegen klickt, wenn für den Store die Option E-Mail-Bestätigung erforderlich aktiviert ist. Zuvor wurde der Käufer auf der Anmeldeseite zur Schaltfläche Kennwort vergessen zurückgeleitet. GitHub-27954
- Korrektur eines Array- zu einem String-Konvertierungsfehler beim Speichern der Zeilensystemkonfiguration mit Standardwerten. GitHub-30314
- Sie können jetzt Argumente für Nachrichtenwarteschlangen festlegen. GitHub-30216
- Der grundlegende Datei-Wächter berücksichtigt jetzt
AppState->emulateAreaCode()
. GitHub-39656
- Die neue
BlockByIdentifier
-Klasse unterstützt das Abrufen eines Layout-Blocks basierend auf der CMS-Blockkennung. Wenn also ein CMS-Block aus dem Cache entfernt wird, löscht das Programm auch den Cache des Layout-Bausteins. GitHub-28309
- Korrektur von Problemen bei der Konvertierung numerischer Argumente in Warteschlangen. Bisher wurde der Argumentwert in eine Zeichenfolge umgewandelt, wenn Sie eine Warteschlange mit numerischen
type
-Argumenten imqueue_topology.xml
deklariert haben. GitHub-29615
GraphQL
- Die
urlResolver
-Abfrage verarbeitet jetzt die Abfrageparameter ordnungsgemäß.
- Die
urlResolver
-Abfrage gibt keinen NULL mehr zurück, wenn ein benutzerdefinierter CMS-Knoten und eine benutzerdefinierte Seite als Eingabe angegeben sind. GitHub-30474
- Die
category
-Abfrage gibt keine untergeordneten Kategorien einer übergeordneten Kategorie mehr zurück, die deaktiviert wurde. GitHub-30468
- Die
category
-Abfrage gibt jetzt den richtigen Pfad eines Kategoriebilds zurück, wenn URL-Neuschreibungen deaktiviert sind.
- Die
resetPassword
-Mutation gibt jetzt eine informativere Meldung zurück, wenn ein Fehler auftritt. GitHub-30179
- Zwischengespeicherte Ergebnisse der
products
-Abfrage werden erwartungsgemäß invalidiert, wenn sich die Produktpositionen ändern. GitHub-30467
- Die
products
-Abfrage gibt jetzt die erwarteten Ergebnisse zurück, wenn dercategory_id
-Filter mit demin
-Keyword angegeben wird. GitHub-30349
- Die Abfragen
categories
undcategoryList
berücksichtigen jetzt die Kategorieverfügbarkeit basierend auf der Konfiguration der Kategorieberechtigungen und der übergeordneten Kategorie-ID. GitHub-29880, GitHub-30624
- Die
updateProductsInWishList
-Mutation validiert nun ordnungsgemäß Wunschlisten-Elemente. GitHub-30467
-
Veraltete mehrere Attribute in den
ProductInterface
undCategoryInterface
, um ihre Verwendung in der Storefront zu verhindern. GitHub-30625 -
Die Preise werden jetzt in den Produktanfrageergebnissen ausgeblendet, wenn die Kategorieberechtigungen zum Verbergen festgelegt sind. GitHub-29926
- Sie können jetzt die
addProductsToWishList
-Mutation verwenden, um ein Bundle-Produkt mit einer benutzerdefinierten Menge zu einer Wunschliste hinzuzufügen.
- Die Reaktionszeit von GraphQL zum Hinzufügen zum Warenkorb wurde verbessert.
- Die
products
-Abfrage gibt jetzt erwartungsgemäß Tier-Preiswerte zurück. GitHub-29168
- Eine redundante
getMappedNums
wurde aus einer Schleife inlib/internal/Magento/Framework/GraphQl/Query/EnumLookup.php
entfernt. GitHub-30031
- Die
products
-Abfrage gibt keinen Fehler mehr zurück, wenn das abgefragte Produkt ein deaktiviertes verwandtes Produkt aufweist. GitHub-28892
- Die
cart
-Abfrage gibt jetzt Preise zurück, die in die richtige Währung (die standardmäßige Anzeigewährung) konvertiert wurden. Zuvor gab die Abfrage den Artikelpreiswert in der Basiswährung zurück und der Währungscode wurde als standardmäßige Anzeigewährung zurückgegeben.
- GraphQL berücksichtigt jetzt Katalogberechtigungen. Die Anwendung beschränkt, welche Elemente für eine
products
-Abfrage basierend auf der Kundengruppe des Käufers zurückgegeben werden.
- Das Attribut
customizable_option
wurde zu mehreren Datentypen hinzugefügt, die den WertCartItemInterface
implementieren.
- Attribute für die
storeConfig
-Abfrage wurden hinzugefügt, um Store-, Store-Gruppen- und Website-Informationen zurückzugeben.
- Das Attribut
SelectedCustomizableOption.type
wurde neu definiert. Darüber hinaus ist das Attributcustomizable_options
in verschiedenen Implementierungen vonCartItemInterface
jetzt nicht null.
- Die Suchfunktion der
products
-Abfrage gibt keine Elemente mehr zurück, für die Kategorieberechtigungen aktiviert wurden.
- Die
products
-Abfrage gibt die richtige Währung für Store-Ansichten mit mehreren Währungen zurück.
- Beschriftungen für
products
-Abfragefilter geben jetzt übersetzte Werte zurück, wenn sie für nicht standardmäßige Store-Ansichten verwendet werden.
- Feste Währungsbeträge für Geschenkkarten im Warenkorb.
- Der Datentyp
ConfigurableProductOptionsSelection
wurde hinzugefügt, der Metadaten enthält, die den auswählbaren konfigurierbaren Optionen für ein Produkt entsprechen. Verwenden Sie dieses Objekt in einerproducts
-Abfrage, um die Anzahl der Mediengalerie-Elemente zu minimieren, die angezeigt werden, wenn der Käufer konfigurierbare Produktoptionen auswählt.
Bilder
- Bilder auf der Startseite eines Stores werden jetzt erfolgreich gerendert. Zuvor war die HTML der Seitenquelle beschädigt, da die drei aufeinander folgenden Schrägstriche im base64-Code des Bildes falsch interpretiert wurden.
- Die Abhängigkeit von der Erweiterung
fileinfo
wurde aus dem CMS-Modul entfernt. Zuvor hat die Anwendung einen Fehler ausgelöst, wenn Sie versucht haben, ein Bild mit dem Bild-Uploader hochzuladen, der beim Hinzufügen von Inhalt durch Klicken auf die Schaltfläche Bild einfügen gestartet wird. GitHub-24332, GitHub-16531, GitHub-29852
- Unterstützung zum Lesen von
exif_image.png
- oderexif-image.jpeg
-Metadaten hinzugefügt. GitHub-1449
- Die Farben von CMYK-Bildern werden jetzt korrekt dargestellt. Wenn der Bildadapter jetzt erkennt, dass ein geöffnetes Bild einen CMYK-Farbraum aufweist, wird der Farbraum in SRGB konvertiert. Zuvor wurden diese Bilder mit invertierten Farben gerendert. GitHub-22375
- Boolesche Werte werden nicht mehr für
image_with_border.phtml
festgelegt. Die redundanten Einstellungenmax-width
undheight
wurden aus.product-image-photo
entfernt. (Diese Werte werden bereits global im Bild durch die Reset-Stile festgelegt.) GitHub-30186
Import/Export
- Die Kundenadresse
region_id
erhält keinenNULL
-Wert mehr, wenn Sie Kundenadressen mithilfe einer CSV-Datei (entity type = "customer address"
undimport behavior = "add/update"
) importieren, aus der bestimmte Feldwerte gelöscht wurden.
- Sie können Produktbilder jetzt während des Imports auf der Storefront ausblenden.
- Wenn für ein importiertes Produkt
qty
auf 0, aberis_in_stock set
auf 1 in der CSV-Datei festgelegt ist, wird das Produkt nicht auf der Kategorieseite aufgeführt und auf der Seite mit den Produktdetails wird es als nicht vorrätig identifiziert. Zuvor waren Produkte mit diesen Werten nach dem Import auf der Storefront sichtbar.
- Beim CSV-Import werden die Werte
dropdown
undtextarea
für zusätzliche Attribute nicht mehr ignoriert. Zuvor wurden diese Attributwerte beim Import nicht aktualisiert.
- Die CSV-Datei für den Produktexport wird nun erwartungsgemäß in der Admin-Liste der CSV-Exportdateien angezeigt. Zuvor gab die Anwendung einen Fehler aus, als Sie diesen Befehl ausgeführt haben:
bin/magento queue:consumers:start exportProcessor --single-thread --max-messages=10000
.
- Die Anwendung gibt beim Import von CSV-Daten, die bengalische (Bangla) Buchstaben enthalten, keinen Fehler mehr aus.
- Das Programm zeigt jetzt eine informative Fehlermeldung an, wenn ein Administrator beim Import einer Datei, die seit dem Export bei der Arbeit in Chrome geändert wurde, auf Daten überprüfen klickt. Zuvor zeigte die Anwendung einen Konsolenfehler an, teilte dem Benutzer jedoch nicht mit, wie er vorgehen soll.
- Die Anwendung dupliziert keine Produktbilder mehr, wenn Sie dieselben Produkt-CSV-Daten mehrmals importieren. GitHub-21885
- Die Beschränkung von 90 Zeichen für Bilddateinamen in
vendor/magento/framework/File/Uploader.php
wurde entfernt. Bisher konnte die Länge von Ordner und Dateinamen 255 Zeichen nicht überschreiten. Die Anwendung importierte Produkte mit Bildern, deren Dateiname diesen Grenzwert überschreitete, importierte die Bilddatei jedoch nicht. GitHub-29377
- Couponcodes können jetzt erfolgreich in CSV oder XML exportiert werden. Zuvor wurde in der Anwendung ein 404-Fehler angezeigt, wenn Sie beim Versuch, Gutscheine zu exportieren, auf CSV exportieren oder XML exportieren geklickt haben. GitHub-29277
- Duplizierte Produktbilder werden jetzt nach dem Import einer CSV-Datei entfernt, die Bilder enthält. GitHub-14398, GitHub-21885
Index
- Wir haben die Leistung des partiellen Indexers verbessert. Die Anwendung löscht jetzt die Cache-IDs, die für jede Batch-Iteration mit 1000 ID geändert wurden. Cache-Kontext akkumulieren keine IDs mehr. Zuvor sammelte der Cache-Kontext Cache-IDs für jede Batch-Iteration mit 1000 ID und löschte bei jeder Iteration denselben Satz von IDs.
- Inkonsistenzen zwischen dem partiellen Neuindizierungssystem und dem vollständigen Neuindizierungssystem wurden korrigiert. Beide Indizierungssysteme verwenden jetzt denselben Code, der ordnungsgemäß funktioniert. Zuvor verwendeten beide Indizierungssysteme unterschiedliche Logik in Bezug auf die freigegebenen Indizes, was dazu führte, dass Indizes nach jeder Ausführung des partiellen Neuindizierungssystems invalidiert wurden. GitHub-29478, GitHub-29297
-
Wir haben Probleme mit dem manuellen Indexer behoben, die entweder zu leeren Kategorieseiten oder zu einer reduzierten Produktanzahl auf Kategorieseiten geführt haben. Probleme mit unvollständigen Kategorieseiten oder Produktanzahl traten auf, wenn:
-
die Teilindizes
catalogsearch_fulltext
undcatalog_product_price
wurden in einem großen Katalog ausgeführt, bis diese Indizes ausgeführt wurden. -
Der partielle Indexer wurde entweder für
catalog_category_product
- oder fürcatalog_product_category
-Indizes ausgeführt und gleichzeitig wurde eine vollständige Neuindizierung für einen dieser Indizes ausgeführt. Diese beiden Indizierungsprozesse konnten in Konflikt geraten, was dazu führte, dass Produkte auf Kategorieseiten fehlten. -
bin/magento indexer:reindex inventory
wurde in einem großen Katalog ausgeführt. Produkte fehlten auf Kategorieseiten, bis der partielle Indexercatalogsearch_fulltext
die Ausführung abgeschlossen hatte.
-
- Der MySQL-Tabelle
Magento_Bulk
wurde ein Indexer hinzugefügt, der die Leistung von Massenvorgängen verbessert hat.
- Kommentare in Datenbanktabellen spiegeln nun den Tabellenstatus nach der Neuindizierung (
bin/magento indexer:reindex
) korrekt wider. Zuvor enthielten die Tabellenkommentare nach der Neuindizierung dieselben Werte wie die Kommentare nach einer Neuinstallation.
- Die
SELECT entity_id IN
-Anweisung wurde in Implementierungen zur Implementierung von MariaDB v.10.3.18 verbessert, wodurch die Leistung der Katalogkategorienindizierung verbessert wurde. GitHub-25199
- Magento Open Source hat die Cache-Leistung verbessert, indem das mehrfache Leeren von Tags pro Indexinstanz vermieden wurde. GitHub-29890
Infrastruktur
- Sie können jetzt
app/etc/env.php
verwenden, um den Nachrichtenbroker von MYSQL in AMQP zu ändern.
- Probleme bei der Berechnung der verbleibenden Dezimalwerte für Produktmengen wurden in der entsprechenden JavaScript-Bibliothek behoben. Die Anwendung berechnete zuvor falsch berechnete Dezimalbrüche von mehr als zwei Stellen und zeigte anschließend eine falsche Meldung an.
- Die
\Magento\Authorization\Model\Rules::update
-Methode wird nicht mehr unterstützt. GitHub-29128
- Die Anwendung gibt beim Konvertieren eines Datumsobjekts aus UTC keinen schwerwiegenden Fehler mehr aus. Zuvor hat die Methode
convertConfigTimeToUtc
unter bestimmten Bedingungen eine Ausnahme ausgelöst. GitHub-29525
DataObject
wurde in\Magento\MediaGalleryCatalogUi\Ui\Component\Listing\Columns\Thumbnail::prepareDataSource
durch das Produktmodell ersetzt.GitHub-1711
- Der
RequireJS
-Resolver erkennt keine blockierten Ressourcen mehr. Zuvor konnte der Resolver nicht richtig erkennen, ob alle Ressourcen auf einer Seite ordnungsgemäß geladen oder verarbeitet wurden, und die Seite wurde weiter geladen. GitHub-28116
- Bei der Validierung des Attribut-Repository-Codes wird jetzt
Magento\Eav\Model\Entity\Attribute::ATTRIBUTE_CODE_MAX_LENGTH
und nicht mehr ein hartcodierter Wert berücksichtigt. GitHub-29017
- Die HTML-Minimierung entfernt keine dreifachen Schrägstriche (https://experienceleague.adobe.com//?lang=de) mehr aus HTML-Zeichenfolgen in PHTML-Dateien. Zuvor wurden drei Schrägstriche während der Minimierung als Kommentare interpretiert und der Rest der Zeile wurde bei der Bereitstellung vollständig in der generierten PHTML-Datei entfernt.
- Merchants können jetzt Indexanmeldungen auf Tabellenspaltenebene und nicht auf Tabellenebene konfigurieren.
\Magento\Framework\Mview\View\Subscription
wurde ein neues Argument hinzugefügt, damit Spalten für eine bestimmte Ansicht oder Tabellenkombination ignoriert werden können. GitHub-30243
- Wenn Sie auf die Schaltfläche Zum Warenkorb hinzufügen klicken, bevor die Produktseite von JavaScript vollständig initialisiert wurde, werden keine doppelten
form_key
-Werte mehr ausgegeben. Zuvor konnte ein Produkt mit einem zwischengespeichertenform_key
-Wert zum Warenkorb hinzugefügt werden, der eine Ausnahme auslöste. Wenn auf Zum Warenkorb hinzufügen geklickt wurde, bevor die JavaScript vollständig initialisiert wurde, stimmte der in den Formulardaten gesendeteform_key
-Wert nicht mit der Benutzersitzung überein und das Produkt wurde nicht zum Warenkorb hinzugefügt. GitHub-13746
- Beim aktuellen cURL-Client wird nun zwischen Groß- und Kleinschreibung unterschieden. Zuvor wurde beim
Set-Cookie
-Vergleich zwischen Groß- und Kleinschreibung unterschieden, was bei einigen HTTP-Servern zu Problemen führen konnte. GitHub-29524
- Das XSD-URN-Format wurde in
api-functional
und XML-Dateien für Testfälle aktualisiert. GitHub-30552
- Der Wertesammlung für Katalogproduktoptionen wurde ein Ereignispräfix und ein Ereignisobjekt hinzugefügt, um die Anpassung des Ladevorgangs von
\Magento\Catalog\Model\ResourceModel\Product\Option\Value\Collection
für die Sammlung zu verbessern. GitHub-29621
- Alle Vorkommen von
array_merge
wurden umstrukturiert, um das im Kodierungsstandard empfohlene Format zu verwenden. GitHub-30005
- Dem Layout
adminhtml
default
wurde der Blockhead.additional
des Typs\Magento\Framework\View\Element\Text\ListText
hinzugefügt (durchmagento2/module-base
). GitHub-29165
- Fehlende Escape-URL-Methode zum Layout-Vorlagenmodul-Widget hinzugefügt. GitHub-30036
- Die
\Magento\Framework\Filesystem\Io\File::read()
-Methode ist jetzt mit\Magento\Framework\Filesystem\Io\IoInterface::read()
kompatibel. GitHub-27866
Klarna
- Die Abhängigkeit vom PayPal-Modul wurde entfernt. GitHub-29421
Protokollierung
- Das Modul
Magento_Logging
hat neue Werte sowie die ihnen vorangehenden Werte nun korrekt registriert. Zuvor wurden in den Werten in der Spalte "Wert vor Änderung"Werte für "K/A"angezeigt, unabhängig davon, ob es sich um die erste oder die nächste Änderung oder um den Zeitpunkt handelte, zu dem der Standardwert zurückgegeben wurde. GitHub-26943
Media Gallery
- Die Seite "Admin Stores > Konfiguration > Erweitert > System"wurde aktualisiert, um den richtigen Produktnamen (Media Gallery) anzuzeigen. Geringfügige Umgestaltungen der Benutzeroberfläche wurden hinzugefügt. GitHub-1738
- Links im Abschnitt "Verwendet in"der Bildbeschreibungen der Media Galerie zeigen jetzt ein Raster an, das vom ausgewählten Bild wie erwartet gefiltert wurde. Zuvor war das angezeigte Raster nicht korrekt benannt und die Listeneinträge waren nicht korrekt. GitHub-1694
- Sie können jetzt erfolgreich mehrere Bilder in der Media Gallery bearbeiten. Zuvor war es nicht möglich, Tags zu einem zweiten Bild hinzuzufügen, nachdem einem Bild Tags hinzugefügt wurden. GitHub-1755
- Das Dropdown-Menü Tags ist jetzt wie erwartet leer, nachdem Sie Tags aus einem Bild in der Media Gallery entfernt haben. GitHub-1703
- Die Stapelverarbeitung von Warteschlangennachrichten für die Synchronisierungswarteschlange für Media Gallery wird jetzt unterstützt. GitHub-1724
- Die Anwendung zeigt jetzt eine 404-Seite wie erwartet an, wenn Sie versuchen, die Mediensalerie zu öffnen, wenn die Enhanced Media Gallery deaktiviert ist. GitHub-1760
MediaGalleryMetadata
überspringt jetzt die Segmentlesung, wenn eine Ausnahme auftritt, und analysiert stattdessen die Bildmetadaten und zeigt sie wie erwartet an. Zuvor waren die Bildmetadaten aufgrund einer Ausnahme von derexif_read_data
-Segmentlesehilfe leer. GitHub-1782
- Die Länge des Ordnernamens verhindert nicht mehr, dass ein Bild in die Media Gallery hochgeladen wird. Media Gallery setzt nun die Pfadspalte auf den Typ
text
. GitHub-1778
- Bild-Uploader zeigt jetzt die richtige Bildgröße an, wenn eine Ausgabedarstellung aus der Media Gallery eingefügt wird. GitHub-1806
- Dem Uploader-Plug-in
Mediagallery
wurde eine Pfadüberprüfung hinzugefügt. Zuvor schlug die Validierung fehl und die Anwendung importierte keine Produkte, wenn Alte Mediensammlung aktivieren deaktiviert war. GitHub-30649
-
Magento_Cms::media_gallery
ACL-Unterressourcen wurden hinzugefügt und für die neue Media Gallery erzwungen, um konfigurierte Berechtigungen für die folgenden diskreten Vorgänge zu unterstützen:- Hochladen von Assets
- Einfügen von Assets in Inhalte
- Löschen von Assets
- Ordner erstellen
- Löschen von Ordnern. GitHub-1487
- Textzeichenfolgen und Ordnernamen der langen Mediengalerie werden nicht mehr zugeschnitten. Zuvor zeigte die Anwendung beschnittenen Text und Bilder an und zeigte folgende Meldung an:
We couldn't find any records
. GitHub-1763, GitHub-1758
- Die Anwendung zeigt die Schaltfläche Ausgewählte hinzufügen nicht mehr an, wenn beim Bearbeiten von Inhalten für eine neue Seite keine Bilder ausgewählt werden. GitHub-1769
- Filter werden jetzt wie erwartet auf das Kategorienraster Inhalt > Mediengalerie angewendet. GitHub-1763
- Die Konfiguration von Galerie-Mehrpunkt-Breakpoint-Optionen funktioniert jetzt wie erwartet. Zuvor funktionierte die Konfiguration der Breakpoint-Optionen nicht ordnungsgemäß, da
mediaCheck
beim Laden der Seite die Funktion zur Abfrage des Exitmediums ausgelöst hatte. GitHub-29933
MFTF
- Wiederholte Aktionen wurden durch Aktionsgruppen in
CheckStaticBlocksTest
ersetzt. GitHub-30561
AdminUpdateCategoryAndMakeInactiveTest
undVerifyChildCategoriesShouldNotIncludeInMenuTest
wurden überarbeitet, um den Best Practices der MFTF zu entsprechen. GitHub-30058
- Duplizierte
AdminOpenCMSBlocksGridActionGroup
wurde entfernt. GitHub-30896
AdminOpentCmsBlockActionGroup
wurde durch AdminOpenCmsBlockActionGroup ersetzt. GitHub-29839
- Veraltete
GoToAttributeGridPageActionGroup
. GitHub-30103
- Aktionsgruppen zum Modul
Analytics
hinzugefügt. GitHub-29500
CheckCheckoutSuccessPageAsRegisterCustomerTest
undCheckCheckoutSuccessPageAsGuestTest
wurden aktualisiert, um erstellte Bestellungen nach der Ausführung von Tests abzubrechen. GitHub-28324
AdminNavigateToPageGridActionGroup
wurde aufgrund der Redundanz entfernt. GitHub-29838
ActionGroup
wurde implementiert, um zur Checkout-Seite zu navigieren. GitHub-29843
AdminOpenCreateNewCMSPageActionGroup
wurde implementiert, um zu navigieren und eine neue CMS-Seite zu erstellen. GitHub-29824
- Es wurden Probleme behoben, die beim Überspringen in MFTF-Tests für die CMS-Seite für die Media Gallery auftraten. GitHub-30164
Neue Tests
- Es wurde ein Test zur Aktivierung einer E-Mail an einen Freund im Admin hinzugefügt. GitHub-29145
- Es wurde ein Test hinzugefügt, mit dem ein Administrator einen CMS-Block aus einem Raster löschen kann. GitHub-30372
- Es wurde ein Test zum Anwenden einer Warenkorbregel auf ein einzelnes Bundle-Element hinzugefügt. GitHub-28921
- Es wurden Tests hinzugefügt, mit denen überprüft werden kann, ob Informationen zu Verwendet in für ein Mediengalerie-Bild angezeigt werden, nachdem die Entität gelöscht wurde. GitHub-1774
Neue Aktionsgruppen
-
AssertStorefrontCustomerLogoutSuccessPageActionGroup
. GitHub-29841 -
AdminOpenConfigurationStoresPageActionGroup
. GitHub-29848 -
ReloadPageActionGroup
. GitHub-30683 -
StorefrontClickRefundTabCustomerOrderViewActionGroup
. GitHub-30032 -
AdminOpenAdminThreeDSecurePageActionGroup
. GitHub-29845 -
AdminCustomerClickFirstRowEditLinkActionGroup
. GitHub-29501 -
StorefrontClickAddToCartButtonActionGroup
. GitHub-29823 -
AdminDeleteTaxRateActionGroup
. GitHub-29940 -
AdminOpenWebConfigurationPageActionGroup
. GitHub-29846 -
AdminOpenGeneralConfigurationPageActionGroup
. GitHub-29847 -
AdminOrderClickSubmitOrderActionGroup
. GitHub-29649 -
AdminOpenCatalogProductPageActionGroup
. GitHub-29941 -
AdminClickInvoiceButtonIntoOrderActionGroup
. GitHub-25399 -
AdminGridBulkActionGroup
. GitHub-28324 -
AdminGridColumnShowActionGroup
. GitHub-28324 -
AdminOpenIndexManagementPageActionGroup
. GitHub-29825 -
AdminOpenCatalogSearchTermIndexPageActionGroup
. GitHub-29844 -
AdminClickAddProductToggleAndSelectProductTypeActionGroup
. GitHub-30917 -
StorefrontCheckoutClickSaveAddressButtonActionGroup
. GitHub-30916 -
AdminOpenCurrencyRatesPageActionGroup
. GitHub-30783 -
AdminClickGetShippingMethodsAndRatesActionGroup
. GitHub-30782 -
AdminSelectFixedShippingMethodActionGroup
. GitHub-30782 -
StorefrontClickProceedToCheckoutActionGroup
. GitHub-30926 -
StorefrontOpenMyAccountPageActionGroup
. GitHub-29842
Newsletter
- Administratoren können jetzt ein Kundenkonto wie erwartet bearbeiten, wenn der Kunde einen Newsletter in der Warteschlange abonniert. GitHub-30645
- Die Anwendung sendet jetzt eine Newsletter-Abonnementbestätigung erneut, wenn der Käufer seine Newsletter-Anmeldung nicht bestätigt. GitHub-28422
- Sie können jetzt ein Kundenkonto wie erwartet bearbeiten, wenn der Kunde einen Newsletter in der Warteschlange abonniert. GitHub-30645
Zahlungsmethoden
- Zahlungsmethoden werden jetzt für alle Websites in den Admin geladen, wie es in einer Bereitstellung mit mehreren Stores erwartet wird.
- Die Anwendung führt jetzt die Zahlungen von Payflow Pro erfolgreich durch, wenn der Name des Käufers Buchstaben mit Akzentzeichen enthält. Zuvor war die Zahlung nicht abgeschlossen, und der Antrag protokollierte diesen Fehler:
report.CRITICAL: String to be escaped was not valid UTF-8 or could not be converted
.
PayPal
- Händler können jetzt erfolgreich eine Bestellung beim Administrator aufgeben, nachdem sie von einer Zahlungsmethode, die eine Kreditkarte verwendet, zu einer Zahlungsmethode ohne Kreditkarte gewechselt haben. Wenn ein Händler zuvor auf die Schaltfläche "Bestellung senden" klickte, wurde der Ladevorgang gestartet, aber nie abgeschlossen und die Bestellung wurde nicht platziert.
- Die Anwendung erstellt keine doppelten Bestellungen mehr, wenn eine Bestellung bei PayPal Express aufgegeben wird. Zuvor, als ein Käufer versuchte, eine Bestellung mit PayPal Express zu bezahlen, PayPal jedoch einen Fehler zurückgab, erstellte die Anwendung noch die Bestellung. Dies führte zu doppelten Bestellungen auf der Website des Händlers. GitHub-13952
- PayPal-Vergleichsberichte sind jetzt wie erwartet unter Berichte > Verkauf > PayPal-Vergleich verfügbar. Bisher hat die Anwendung diese Berichte nicht im Raster des PayPal-Vergleichsberichts aufgeführt und folgende Meldung angezeigt:
We couldn't find any records
.
- Durch Klicken auf die Schaltfläche PayPal beim Checkout wird kein redundanter
web-api
-Aufruf mehr Trigger. Zuvor wurden zwei Anfragen ausgelöst, wodurch die Gebühr für das Produkt verdoppelt wurde.
- Gastkäufer können jetzt PayPal-Bestellungen aufgeben, wenn Automatische Zuweisung zur Kundengruppe aktiviert ist. Die Bezahlung erfolgt über das PayPal Gateway, die Bestellung wird in Magento erstellt und der Käufer sieht die Dankeseite für die Bestellung. Zuvor wurde die Bestellung erfolgreich im PayPal-Gateway verarbeitet, aber die Bestellung wurde nicht in Magento Open Source erstellt. Der Käufer wurde stattdessen zur Seite zur Bestellüberprüfung weitergeleitet, auf der die Anwendung diesen Fehler anzeigte:
Failed address validation: %1" error
. GitHub-25399
Leistung
- Leistungsprobleme in
module-catalog-import-export/Model/Import/Product/Option.php
wurden behoben. Die für die Ausfuhr oder den Import von mehr als 100.000 Datensätzen erforderliche Zeit wurde verkürzt. Siehe den Artikel Import/Export dauert bei einer großen Anzahl von Produktoptionen länger als erwartet. Knowledge Base .
Magento_Csp/Model/BlockCache
wurde überarbeitet, um sowohl den Speicherverbrauch als auch die Generierung unnötig großer zwischengespeicherter Zeichenfolgen zu reduzieren. Zuvor waren Seiten, die dynamisch auf die Whitelist gesetzte Skripte und Stile enthielten, häufig mit Leistungsproblemen konfrontiert. GitHub-29964
- Wir haben die Leistung von geplanten Exporten von Katalogen verbessert, die mehr als 100.000 Produkte mit Verbrauchern enthalten.
- Das Programm leert den Kategoriecache nicht mehr, wenn Sie ein deaktiviertes Produkt zu einer Kategorie hinzufügen oder speichern. Zuvor hat die Anwendung den Cache für verwandte Kategorien geleert, obwohl der Produktstatus die Serverleistung beeinträchtigte.
- Die Seitenladezeit für die Aktualisierung der Produktmenge im Warenkorb wurde verbessert. Zuvor führte die Anwendung mehrere separate Abfragen für jedes Produkt im Warenkorb aus, was die Seitenladezeit erhöhte.
- Der MySQL-Tabelle
Magento_Bulk
wurde ein Indexer hinzugefügt, der die Leistung von Massenvorgängen verbessert hat.
- Die Anwendung speichert nun die untergeordneten IDs konfigurierbarer Produkte zwischen. Dies hat die Seitenladeleistung verbessert, indem die Anzahl der Datenbankanforderungen reduziert wurde. GitHub-30585
- Das Laden des Admin-Dashboards wurde verbessert. Zuvor wurden in der Anwendung Registerkartennamen als Liste angezeigt, bevor das Laden der Seite abgeschlossen wurde.
- Die Verwaltung des Redis-Cache wurde durch das Hinzufügen von Ablaufbeschränkungen für Layout-Caches verbessert. Zuvor erreichten Redis-Caches den maximalen Speicher in großen Bereitstellungen schnell, und die Anwendung gab Fehler bei Schreibvorgängen aus.
- Die Leistung beim Auschecken wurde verbessert, indem eine redundante Datenbankabfrage in
app/code/Magento/Catalog/Model/CategoryLink.php
entfernt wurde. GitHub-29453
Magento\Framework\DB\Adapter\Pdo\Mysql->isTableExists
wurde überarbeitet, um die Leistung zu verbessern. Redundante Aufrufe anSHOW TABLE STATUS
wurden reduziert, um zu überprüfen, ob eine Tabelle vorhanden ist. GitHub-29662
getPageLayoutsConfig
wird jetzt im Cache gespeichert, was die Leistung des Konfigurationsaufbaus verbessert hat. GitHub-29546
Beständig
- Käufer können keine Bestellung mehr aufgeben, nachdem ihr Sitzungs-Cookie abgelaufen ist, wenn der beständige Warenkorb aktiviert ist. Stattdessen zeigt das Programm die Anmeldeseite an, damit sich der Käufer anmelden kann. Zuvor hat die Anwendung die Bestellung aufgegeben. Die Anwendung hat den persistenten Kunden nicht ordnungsgemäß validiert, wenn
PHPSESSID
abgelaufen war undcustomerSession
aus den persistenten Informationen neu erstellt wurde.
- Die Anwendung zeigt nun die Willkommensnachricht wie erwartet an, nachdem sich ein Käufer in einem Speicher anmeldet, in dem der beständige Warenkorb aktiviert ist. In der Anwendung wurde zuvor der Wert "Not you?"angezeigt. -Meldung nach der Anmeldung.
- In der Anwendung werden die Nicht bei Ihnen? Text, wenn ein Kunde bei der Anmeldung bei einer Bereitstellung, in der der beständige Warenkorb aktiviert ist, die Option Angaben speichern auswählt.
- Die Anwendung zeigt den Inhalt des Warenkorbs eines Kunden nach Ablauf der Kundensitzung nicht mehr an. Zuvor zeigte die Anwendung diesen Fehler an, wenn ein Gastkunde versuchte, auszuchecken, wenn der beständige Warenkorb aktiviert war:
No such entity with cartid = 0
.
Preise
- Aufeinander folgende asynchrone Preisaktualisierungen stören einander nicht mehr, und jedem Vorgang wird der richtige Status zugewiesen. Wenn zuvor eine asynchrone Preisaktualisierung fehlschlug, schlugen alle folgenden asynchronen Preisaktualisierungen fehl, bis der entsprechende Warteschlangenverbraucher neu gestartet wurde. GitHub-27865
Berichte
- Berichte > Marketing > Produkte in Warenkörben zeigen jetzt nur den Datensatz im zulässigen Umfang des Benutzers an, der den Bericht generiert. Zuvor waren alle Daten für alle Bereiche verfügbar.
- Die Anwendung verwendet jetzt die im Rollenbereich des Händlers, der den Bericht generiert, angegebene Währung, wenn die Produktwährung im Bericht Produkte im Warenkorb angezeigt wird.
- Die kürzlich angezeigten und kürzlich verglichenen Produktfunktionen zeigen jetzt Statistiken für verschiedene Stores und Websites in Admin an, wie in einer Bereitstellung mit mehreren Stores erwartet. Zuvor wurden bei diesen Funktionen nicht alle Stores oder Websites berücksichtigt.
- Preise in Bestellberichten verwenden jetzt das richtige Währungssymbol.
- Die Anwendung überprüft jetzt, ob ein Token vorhanden ist, wenn ein Benutzer auf die Schaltfläche "Admin Dashboard"Zum erweiterten Bericht wechseln klickt. Wenn das Token vorhanden ist, zeigt die Anwendung die Seite "Fortschrittliche Berichterstellung"an. Wenn das Token nicht konfiguriert ist, zeigt das Programm eine informative Seite im Benutzerhandbuch an. GitHub-25411
Überprüfungen
- Die Seite "Neue Überprüfung"wird jetzt erwartungsgemäß geladen, wenn Sie auf die Schaltfläche Neue Überprüfung unter Admin Marketing > Alle Bewertungen klicken. Wenn Sie auf ein Produkt auf dieser Seite klicken, wird das erwartete neue Überprüfungsformular für dieses Produkt geöffnet.
- Die Anwendung löst diesen Fehler nicht mehr aus, wenn Sie versuchen, eine Bestellung von Admin Marketing > Alle Prüfungen:
Uncaught TypeError: Event.observe is not a function
zu bearbeiten. GitHub-30388
Vertrieb
- Die Spalte
order_created_at
dersales_shipment_grid
wird jetzt nach jeder Aktualisierung erwartungsgemäß aktualisiert.
- Sie können jetzt ein Produkt mit einem benutzerdefinierten Optionsdatum erfolgreich in einem Speicher neu anordnen, für den die Option JavaScript-Kalender verwenden aktiviert ist. Zuvor hat die Anwendung, als Sie versuchten, die Neuanordnung vorzunehmen, den Artikel nicht zum Warenkorb hinzugefügt und diesen Fehler angezeigt:
Could not add the product with SKU "simp1" to the shopping cart: Please specify date required option(s).
- Die Anwendung schließt eine Bestellung nicht mehr sofort, wenn ein Käufer eine Bestellung auscheckt, die aus einem virtuellen Produkt mit Gesamtkosten von 0 USD in Implementierungen besteht, bei denen die Methode zum Checkout ohne Zwischensumme aktiviert ist.
- Die Anwendung archiviert eine Bestellung nicht mehr, bevor sie sie verarbeitet. Bisher wurden nicht ausgewählte Bestellungen von einer Mehrfachauswahlaktion im Raster Admin-Reihenfolge beeinflusst.
- Das Credit Memo Grid zeigt jetzt das richtige Währungssymbol an, wenn der Saudi-Riyal (SAR) als Basiswährung festgelegt ist.
- Die Anwendung zeigt jetzt bei der Kasse die Informationen zu Versandadressen wie erwartet auf der Bestellseite an.
- Der Wert von
total_qty
entspricht nun dem Wert vontotal_qty_ordered
in den Verkaufsrechnungen.
- Der asynchrone Versand von E-Mails zum Verkauf sendet jetzt nur E-Mails für Bestellungen, die nach dem Datum der letzten Aktualisierung erstellt wurden. Zuvor filterte die Anwendung E-Mails nicht nach dem Datum, an dem der asynchrone Versand aktiviert war.
- Die Anwendung sendet jetzt eine E-Mail zur Rechnungsstellung wie erwartet, wenn vom Administrator eine Bestellung aufgegeben wird.
- Die Anwendung löscht jetzt vorhandene Bestelldaten während einer Sitzung, wenn ein Händler eine neue Bestellung für einen Kunden vom Administrator erstellt.
- Sie können jetzt die Kundengruppe für neue Kunden ändern, die über eine Administratorreihenfolge erstellt werden, wenn Automatische Zuweisung zur Kundengruppe aktivieren aktiviert ist. Sie können auch eine Kundengruppe auf Grundlage der MwSt-Validierung zuweisen. Bisher hat das Anfrageobjekt bei der Validierung der MwSt-Nummer die zugewiesene Anforderung
group_id
nicht geprüft. Standardmäßig wird der Standardwertgroup_id
verwendet.
- Die Anwendung ändert den Status eines benutzerdefinierten Bestellstatus mit dem Status
Suspected Fraud
nicht mehr inProcessing
, nachdem ein Händler mithilfe der REST-API eine Teilsendung erstellt hat.
Verkaufsregel
- Couponcodes, die auf der Grundlage der Versandmethode angewendet wurden, werden nicht mehr angewendet, wenn ein Käufer die Versandmethode ändert. Zuvor wurden die Couponcodes durch die Anwendung nicht gelöscht, als Käufer die Versandmethoden wechselten.
- Käufer können einen Gutscheincode nicht häufiger anwenden als die Einstellung Verwendung pro Kunde zulässt. Wenn zuvor mehrere Browserfenster geöffnet waren und mehrere Bestellungen gleichzeitig aufgegeben wurden, erhielt jede Bestellung den Rabatt, obwohl die Einstellung Verwendet pro Kunde den Wert 1 enthielt.
Suche search-heading
- Elasticsearch gibt keinen unbekannten Modifikatorfehler mehr aus, wenn ein Käufer ein Suchsynonym sucht. Zuvor fehlte dem Escaper in regulären Ausdrücken ein Maskierungszeichen, was zu einem schwerwiegenden Fehler führte.
- Bei der erweiterten Suche werden die untergeordneten Elemente konfigurierbarer Produkte nicht mehr als individuelle Suchergebnisse zurückgegeben, wenn die untergeordneten Produkte mit Sichtbarkeit konfiguriert wurden, die auf "Nicht einzeln sichtbar"eingestellt ist.
- Bei der Sortierung der Produktnamen in den Suchergebnissen wird nicht mehr zwischen Groß- und Kleinschreibung unterschieden.
- Die Suchergebnisseite wird nun erwartungsgemäß zwischengespeichert, wenn die Einstellung Anzahl der wichtigsten Suchergebnisse auf den Cache auf 0 festlegen unter Admin Stores > Konfiguration > Katalog > Katalog > Katalogsuche aktiviert ist.
- Der Katalogsuchindexer wird jetzt ausgeführt, ohne dass ein Fehler aufgrund der Feldbegrenzung für das Elasticsearch ausgegeben wird. Zuvor hatte die Anwendung den folgenden Fehler ausgegeben:
Limit of total fields [xxx] in index [m24dev_product_1_v10] has been exceeded
.
- Die Leistung der Katalogsuche wurde verbessert. Die Deaktivierung von Suchvorschlägen aktivieren (Stores > Konfiguration > Katalog > Katalogsuche ) funktioniert erwartungsgemäß. Zuvor fragte die Anwendung die MySQL
search_query
-Tabelle anstelle des Elasticsearchs nach Vorschlägen zur automatischen Vervollständigung der Suche. GitHub-25534
- Elasticsearch filtert nun die Produktpreise genauso wie MySQL. Der Feldtyp
price_*
wurde vonfloat
indouble
im Elasticsearch-Index geändert, um die Genauigkeit zu verbessern und einen Gleitkommafehler zu korrigieren.
- Dem Admin wurde ein Keydown-Ereignis-Listener hinzugefügt, um das globale Suchformular zu aktivieren, wenn ein Schrägstrich eingegeben wird. GitHub-29551
- Elasticsearch gibt keinen Fehler mehr aus, zeigt jedoch stattdessen keine Produkte wie erwartet an, wenn ein
string
-Wert verwendet wird, um Produkte nach Attribut mit dem Backend-Typinteger
oderdecimal
zu filtern. Zuvor zeigte die Anwendung diesen Fehler inexception.log
:number format exception
an.
-
Elasticsearch gibt keine Ausnahme mehr aus, wenn ein Suchbegriff einen
/
enthält. GitHub-25886, GitHub-25110 -
Die Suche ist jetzt wie erwartet für eine ausgewählte Kundengruppe aus der Produktabfrage deaktiviert, wenn die Konfigurationseinstellung Katalogsuche nicht zulassen nach in den allgemeinen Kategorieberechtigungen aktiviert ist. GitHub-29927
- Suchergebnisse enthalten nicht mehr mehrere Zitate desselben Wortes. GitHub-30104
Versand
- Der Checkout-Prozess schlägt nicht mehr fehl, wenn eine Netzwerkunterbrechung die Verbindung zur DHL-Versandmethode unterbricht. Stattdessen zeigt die Anwendung andere verfügbare Versandmethoden an. Zuvor wurde der Checkout-Prozess angehalten, als die Verbindung zum DHL-Versand unterbrochen wurde. Der Fehler wurde in der Anwendung angezeigt:
Sorry, no quotes are available for this order at this time
. GitHub-29902
- Die Felder, die die UPS-Versandmethode unter Admin Stores > Konfiguration > Verkauf > Bereitstellungsmethoden beschreiben, sind jetzt erwartungsgemäß aktiviert.
- Durch den Endpunkt POST
/rest/V1/shipment
erstellte Sendungen aktualisieren die Bestellungen jetzt ordnungsgemäß. Zuvor führte der Antrag zu einer Lieferung, doch der Versandstatus blieb im Verarbeitungsstatus.
- Die Anwendung entfernt keine einfachen Produkte mehr aus dem Warenkorb, wenn ein anderes Produkt vor dem Checkout mit Versand an mehrere Adressen aus dem Warenkorb entfernt wird. GitHub-30259
- Auf der Seite "Bestellüberprüfung"wird nun der Steuerbetrag vor dem Versandbetrag angezeigt, der für Bestellungen erwartet wird, die an mehrere Adressen gesendet werden.
- Das UPS-Versand-Tracking zeigt jetzt nur den Status
Delivered On
an, wenn ein Paket zugestellt wurde. GitHub-30032
- Die Anwendung zeigt nun die richtige Zwischensumme des Warenkorbs für Bestellungen an, die ein virtuelles Produkt enthalten, wenn der Käufer von der Abfertigung mit mehreren Adressen zum Warenkorb zurückkehrt.
- Händler können jetzt auf der Versandseite eine Versandbeschriftung für eine bestehende Bestellung erstellen, die FedEx-Versand verwendet, wenn JavaScript-Bundling aktiviert ist. Zuvor hatte die Anwendung einen Fehler ausgelöst, wenn der Händler auf die Schaltfläche Versandtitel erstellen klickte.
- Der Versand-Tracking-Link in der an Kunden gesendeten Versandbestätigungs-E-Mail funktioniert jetzt erwartungsgemäß. Zuvor gab dieser Link einen 404-Fehler zurück.
- Die Anwendung zeigt jetzt eine informative Fehlermeldung an, wenn ein Käufer mit mehreren Adressen zur Kasse geht und dann alle anderen Produkte als ein virtuelles Produkt entfernt. GitHub-25595
- Sie können jetzt einen Versandtitel wie für eine Teilbestellung erwartet erstellen. Zuvor, als Sie versuchten, eine Versandbeschriftung für nur einen Artikel aus einer Bestellung zu erstellen, fügte die Anwendung alle Produkte zum Paket hinzu und die Validierung schlug fehl. GitHub-29552
- Die Validierung für die Versandmethode wird beim Aufruf von
/V1/guest-carts/:cartId/totals-information
nicht mehr umgangen. GitHub-25147
Sitemap
- Von
cron
generierte Sitemaps enthalten jetzt korrekte Bild-URLs. Zuvor war der generierte zwischengespeicherte Bildpfad in Multi-Store-Bereitstellungen falsch.
Store
- Der Admin- und der Hauptspeicher-Umschalter spiegeln jetzt Änderungen wider, die an der Sortierreihenfolge des Stores in Admin vorgenommen wurden. GitHub-13401
- Die Anwendung erstellt nun korrekte URLs für Kategorien und Produkte, nachdem der URL-Schlüssel der obersten Ebene einer Store-Ansicht geändert wurde. Wenn zuvor die Kategoriestruktur einer Store-Ansicht modifizierte "
url_keys
"enthielt und ein Kategorieschlüssel nicht geändert wurde, aber der Schlüssel der übergeordneten Kategorie dies tat, verwendete der ursprüngliche Code bei der Erstellung von URLs die standardmäßige Store-Ansicht der Kategorie. GitHub-28633
Zielregeln
- Das Laden von Produktdetailseiten wurde optimiert. Es wurden Indizes für Datenbanktabellen hinzugefügt, die Abfragen zu Zielregelbedingungen für viele Fälle optimieren.
Steuern
- Die MwSt-Validierung einer Gastbestellung führt nicht mehr dazu, dass die Anwendung das Angebot mit einer falschen Kundensteuerklasse speichert. GitHub-30018
- Bestellungen, die an mehrere Adressen gesendet werden, können jetzt beim Checkout gespeichert werden, wenn FPT konfiguriert ist. Nach Abschluss einer Bestellung für mehrere Adressen zeigte die Anwendung zuvor eine leere Seite anstelle der Auftragserfolgsseite an.
- Die Detailseiten der Storefront-Produkte zeigen jetzt alte und neue Preise mit und ohne Steuern wie erwartet an. GitHub-27500, GitHub-11998
Test
bin/magento dev:tests:run
startet jetzt die folgenden Tests erwartungsgemäß: Alle, Einheit, Integration, Integration für alle, statisch, statisch für alle, Integrität, veraltet und Standard.
AdminMediaGalleryInsertLargeImageFileSizeTest
wurde umgestaltet.
- Unit-Tests sind jetzt mit PHPUnit 8 kompatibel. GitHub-29779
\Magento\TestFramework\TestCase\WebapiAbstract
enthält jetzt eine Funktion, die den Vergleich großer verschachtelter Arrays erwarteter und tatsächlicher Ergebnisse in Tests unterstützt. Irrelevante Schlüssel im Ergebnis können nun ignoriert werden. GitHub-29498
AdminMediaGalleryCatalogUiEditCategoryGridPageTest
schlägt nicht mehr zufällig fehl. GitHub-1764
dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest
wurde verbessert. (assert
basiert jetzt auf demXPath
-Selektor anstelle vonassertStringContainsString
.) GitHub-29700
- Testabdeckung für das Modul
AdminAnalytics
hinzugefügt. GitHub-29500
- Funktionstests für Integration und API sind jetzt mit PHPUnit 9.3 kompatibel. GitHub-30146
- Fehlerkorrektur - Beim GraphQL
testRequestCacheTagsForCategoryListOnMultipleIds
-Test treten jetzt keine Fehler mehr auf. GitHub-29372
- Header-Werte, die URLs enthalten, werden jetzt ordnungsgemäß in
ApiFunctional TestFramework
analysiert. GitHub-26425
- Fehlerkorrektur - Beim GraphQL
testRequestCacheTagsForCategoryListOnMultipleIds
-Test treten jetzt keine Fehler mehr auf. GitHub-29372
—no-tablespaces
wurde zu allen Vorkommen vonmysqldump
hinzugefügt, wodurch Integrationstests ohne die BerechtigungPROCESS
ausgeführt werden können (erforderlich seit MySQL 5.7.31 / 8.0.21, um standardmäßigmysqldump
auszuführen). GitHub-30566
Design
- Dem Befehl
bin/magento setup:static-content:deploy
wurde ein neues--no-parent
-Flag hinzugefügt, das verhindert, dass die übergeordneten Elemente eines Designs kompiliert werden. Mit dieser neuen Kennzeichnung können Sie die Leistung des Bereitstellungsprozesses für statische Inhalte erheblich verbessern, indem Sie unnötige Kompilierungen vermeiden. Beachten Sie, dass dieses neue Flag bei Verwendung dercompact
-Strategie nicht funktioniert. GitHub-30184
- Die Designkonfiguration generiert keine DDL-Vorgänge mehr. Zuvor erzeugte die Anwendung beim Aktualisieren der Designkonfiguration DDL-Anweisungen, die MySQL-Fehler Trigger.
- Redundanter Code im Modul
Magento_ConfigurableProduct
im Admin-Design wurde entfernt. GitHub-29857
- Die redundante Navigation mit weniger Stilen und nicht verwendete Eigenschaften im leeren Design wurden entfernt. GitHub-29914
- Dem leeren Design in der Mobile-Ansicht wurde eine ausblendbare Navigationsfunktion hinzugefügt. GitHub-30237
- Das Laden von Webschriften für Designs wurde optimiert. GitHub-29526
- Entwickler können jetzt den Schrifttyp beim Deklarieren einer benutzerdefinierten Schrift in einem Design angeben. GitHub-29719
Übersetzung und Gebietsschemata
- Die Datumsauswahl für das Admin-Orderraster funktioniert jetzt erwartungsgemäß, wenn das Admin-Gebietsschema arabisch ist (
ar_SA - Saudi Arabia
).
- Die Anwendung zeigt keine Fehlermeldung mehr an, wenn ein Käufer bei der Registrierung oder dem Hinzufügen einer neuen Adresse eine argentinische Adresse mit einem gültigen Postleitzahl eingibt. Zuvor wurde in der Anwendung folgender Fehler angezeigt:
Provided Zip/Postal Code seems to be invalid. Example: 1234. If you believe it is the right one you can ignore this notice.
- Die Anwendung gibt keinen Fehler mehr aus, wenn ein Käufer eine fünfstellige Postleitzahl für eine koreanische Adresse eingibt.
- Unterstützung für die Uruguay-Regionen hinzugefügt, die in ISO 3166-2:UY definiert sind. GitHub-29729
zip_codes.xml
wurde aktualisiert, um acht Stellen für brasilianische Postleitzahlen zu erzwingen. GitHub-29984
- Verbesserte Lokalisierung der verbleibenden nicht lokalisierten Wortgruppen. GitHub-11175
- Der Platzhalter für die Rastersuche kann jetzt übersetzt werden. GitHub-30510
- Das Programm lädt jetzt Inline-Übersetzungen für JavaScript-Module nur herunter, wenn sie aktiviert sind. GitHub-29553
Benutzeroberfläche
- Die Schaltfläche Konto erstellen auf der Seite Neues Konto erstellen bleibt aktiv, wenn ein Käufer ungültige Daten eingibt. Zuvor war diese Schaltfläche deaktiviert, was verhinderte, dass Käufer nach einem Fehler erneut versuchen konnten, ein Konto zu erstellen. Dies war ein bekanntes Problem in Version 2.4.1. GitHub-30513
- Das Laden des Versandrasters auf der Seite zur Bearbeitung der Admin-Bestellung wurde verbessert.
- Das Programm zeigt jetzt das Kontrollkästchen Gleiche Abrechnungsadresse wie erwartet auf der Bestellseite an, wenn Produkte von der SKU zum Warenkorb hinzugefügt wurden.
- Die CSS-Klasse, die eine begrenzte Breite definiert hat, wird nun erwartungsgemäß auf die Felder Startzeit unter Admin Store > Konfiguration > Katalog > XML-Sitemap > Erstellungseinstellungen angewendet. GitHub-29496
- Es wurden Anzeigeprobleme mit der Checkbox-Beschriftung für Nutzungsbedingungen behoben. GitHub-24060
- Die Anwendung zeigt den CSS-Code für einen Tier-Preisblock auf der Produktseite nicht mehr an, wenn die Tier-Preise nicht verfügbar sind. GitHub-29194
- Die Position der Schaltflächen auf der Detailseite der Bildansicht wurde entsprechend den Richtlinien der Benutzeroberfläche neu angeordnet. GitHub-1783
- Das Textfeld Couponcode wird jetzt in Internet Explorer-/EDGE-Browsern in der richtigen Breite angezeigt.
- Die Variable
@button__border-radius
ist jetzt in der Bibliotheklib/web/css/source/lib/variables/_buttons.less
definiert.border-radius
hat den Standardwert3px
. Zuvor warborder-radius
hartcodiert. GitHub-28674
- Die Suchschaltfläche Senden (Lupe) im Mini-Suchfeld ist jetzt deaktiviert, bis die minimale Länge der Suchzeichenfolge erreicht ist. GitHub-29704
- Die Schaltfläche Vorlage für Vorschau anzeigen funktioniert jetzt wie erwartet auf der Seite "Warteschlange bearbeiten".
- Die Anwendung behält jetzt den Wert eines Attributs bei, wenn Sie das Attribut von einer Gruppe in eine andere verschieben.
- Es wurde eine Variable für die Schriftgewichtsgröße zu
lib/web/css/source/lib/variables/_typography.less
hinzugefügt. GitHub-29778
- Die Sichtbarkeit des Filters funktioniert jetzt mit der Spaltenanzeige, wie in Admin Raster erwartet. GitHub-30345
- Komponentenoptionen für die Benutzeroberflächenauswahl sind nicht mehr sichtbar, wenn
this.disabled(true)
festgelegt ist. GitHub-29098
- Die Variable
@font-family-name__base
wird beim Laden der Schriftart Open Sans nicht mehr verwendet. GitHub-29515
- Das WAI-ARIA-Attribut
aria-atomic="true"
wurde dem Fehler-Container-Tag hinzugefügt. GitHub-29560
- Die Raster der UI-Komponenten zeigen jetzt eine genaue Anzahl ausgewählter Elemente an. Zuvor wurde bei der Auswahl aller Rasterelemente durch eine Suche nach Keyword eine falsche Anzahl von Auswahlen angezeigt, während der Käufer anschließend einige Elemente deaktiviert hat, bevor das Kontrollkästchen "Kopfzeile"aktiviert wurde. GitHub-29968
- Die Anwendung zeigt nicht gerenderte HTML nicht mehr auf den Übersichtsseiten für Rechnung und Versand an. GitHub-29958
- Durch Klicken auf Optionen unter "Admin Stores > Währungsraten"werden Benutzer nun zum erweiterten Abschnitt mit Währungsoptionen auf der Systemkonfigurationsseite weitergeleitet. GitHub-29336
- Verbesserte Unterstützung für die Anzeige eines Widgets in Abhängigkeit von einer anderen Bedingung für
adminhtml
Widgets bei Verwendung eines Auswahl-Widget-Typs. GitHub-13316, GitHub-7252, GitHub-6868
- Verbesserter Abstand von Text in Bestätigungs-Popup-Dialogfeldern im Luma-Design. GitHub-30452
Vault
- Das Modul
Vault
erkennt nun Zahlungsmethodencodes aus der Anfrage für den Zahlungsinformationsverwaltungsdienst. Wenn ein Käufer zuvor eine Bestellung mit einer gespeicherten Braintree-Kreditkarte aufgegeben hat, hat der Antrag diesen Fehler auch dann ausgegeben, wenn eine gültige Zahlungsmethode verwendet wurde:The requested Payment Method is not available
.
- Das Banner, das das Programm auf der Seite "Admin-Anmeldung als Kunde"anzeigt, bleibt jetzt oben auf der Seite, wenn der Benutzer scrollt. GitHub-29354
Vertex
-
Adressenvorschläge werden jetzt erwartungsgemäß entfernt, wenn eine Adresse geändert wird.
-
Eine Wettlaufsituation, die manche Kunden daran hinderte, ihre Adresse in ihrem Kontobereich zu speichern, wurde behoben.
-
Bei der Überprüfung der Testadressen wird die Seite "Adressenbearbeitung"unter bestimmten Bedingungen nicht mehr zum ganzseitigen Cache hinzugefügt.
-
Die vertex-berechnete Steuer wird jetzt berücksichtigt, wenn der kostenlose Versand für einen Steuerbetrag konfiguriert ist.
Web-API-Framework
- Sie können jetzt die POST
V1/invoice/:invoiceId/refund
verwenden, um eine Rechnung zurückzuerstatten, die eine Produktmenge von null und keine Versandkosten aufweist (z. B.{"items": [{"qty": 0, "orderItemId": 6, "extensionAttributes": {}}], "appendComment": false, "notify": true, "isOnline": true, "arguments": {"adjustment_negative": 0.0, "adjustment_positive": 0.99, "shipping_amount": 0}}.
). Zuvor hatte der Antrag den folgenden Fehler ausgegeben:You can't create a creditmemo without products
. GitHub-23069
- Sie können jetzt POST
V1/categories
verwenden, um eine Kategorie zu erstellen oder zu aktualisieren. Zuvor hat die Anwendung den Wert nicht gespeichert, wenn derdefault_sort_by
-Wert als Array festgelegt war. Wenn derdefault_sort_by
-Wert als Zeichenfolge festgelegt wurde, hat die Anwendung diesen Fehler ausgegeben:Error occurred during \"custom_attributes\" processing. Attribute \"default_sort_by\" has invalid value. The \"string\" value's type is invalid. The \"string[]\" type was expected. Verify and try again.
- Die Verwendung von POST
V1/invoices/:id/capture
zum Erfassen von Zahlungsinformationen funktioniert jetzt erwartungsgemäß. Zuvor genehmigte die Applikation die Bestellung, erfasste sie jedoch nur auf der Website des Payment Gateways.
- Wenn Sie POST
V1/order/:orderId/ship
verwenden, um eine Teilsendung zu erstellen, gibt der Endpunkt die richtige Anzahl an versendeten Produkten zurück.
- Rechnungen, die mit der POST
V1/order/:orderID/invoice
erstellt wurden, spiegeln nun die Teilzahlung durch einen Store-Kredit genau wider. Zuvor wurde, wenn eine Bestellung teilweise mit einem Store-Guthaben beglichen wurde, die Rechnung erstellt, ohne dass der Store-Guthaben berücksichtigt wurde.
- Die Aufrufe GET
rest/all/V1/categories
und GETrest/all/V1/categories?rootCategoryId=2
geben jetzt die ausgefüllten Feldername
undproduct_count
wie für alle Kategorien im Baum erwartet zurück. Zuvor waren die Kategoriefeldwerte leer. Das Plug-in für den Tabellennamenauflöser gab einen falschen Tabellennamen zurück, um die Anzahl der Produkte nach Kategorie abzurufen.
- Der PUT
V1/categories/:id
-Endpunkt speichert jetzt die Daten, die zum Erstellen von 301-Umleitungen für Kategorie-URL-Schlüssel erforderlich sind, wenn das benutzerdefinierte Attributsave_rewrites_history
angegeben wird. GitHub-29174, GitHub-30240
Wunschliste
- Käufer können einem Wunschzettel jetzt ein Produkt hinzufügen, wenn das Produkt einer benutzerdefinierten Inventarquelle zugewiesen ist. GitHub-3018
- Administratoren können jetzt von der Admin-Kundenseite aus auf die Seite "Warenkorb verwalten"zugreifen, nachdem ein Kunde ein Produkt aus der Storefront zu seiner Wunschliste hinzugefügt hat. Zuvor wurde in der Anwendung der folgende Fehler angezeigt, als der Administrator auf die Schaltfläche Warenkorb verwalten klickte:
An error has occurred. See error log for details
.
- Die Schaltfläche Zum Warenkorb hinzufügen auf der freigegebenen Wunschlisten-Seite funktioniert jetzt wie erwartet für anonyme, Gastbenutzer und Benutzer, die nicht angemeldet sind.
- Die Anwendung zeigt jetzt auf der Wunschlistenseite die ausgewählten konfigurierbaren Produktattributoptionen wie erwartet an. GitHub-24091, GitHub-22503
ActionInterface
wurde für\Magento\Wishlist\Controller\Shared\Allcart
implementiert. GitHub-29537
Bekannte Probleme
Problem: Die Datei [magento_root]/index.php
wurde entfernt und die Anwendung wird jetzt für Apache-Konfigurationen standardmäßig von /pub
aus ausgeführt. Stores, die aus Unterordnern bereitgestellt werden, funktionieren nicht erwartungsgemäß und zeigen möglicherweise 404-Fehler an. Problemumgehung: Verwenden Sie Symlinks, um die Installation in einen Unterordner zu emulieren. Im folgenden Beispiel wird https://shop01.com/shop/
verwendet, um zu veranschaulichen, wie mithilfe eines Symlinks eine Installation in einem Unterordner emuliert werden kann.
-
Erstellen Sie ein Unterverzeichnis für
https://shop01.com/shop/
:code language-bash mkdir magento_root/pub/shop01
code language-bash cd magento_root/pub/shop01
-
Erstellen Sie Symlinks für die übergeordneten Ordner des Stores im neu erstellten Verzeichnis:
code language-bash ln -s ../media media
code language-bash ln -s ../static static
code language-bash ln -s ../../../pub pub
code language-bash ln -s ../.htaccess .htaccess
code language-bash ln -s ../health_check.php health_check.php
-
Erstellen Sie eine
index.php
-Datei im neuen Verzeichnis (magento_root/pub/shop01/index.php
) und fügen Sie folgenden Inhalt hinzu:
<?php
require realpath(__DIR__) . '/../../../app/bootstrap.php';
switch ($_SERVER['HTTP_HOST']) {
case 'shop01.com':
case 'www.shop01.com':
$params = $_SERVER;
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'shop01';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
$app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
$bootstrap->run($app);
break;
default:
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
$bootstrap->run($app);
break;
}
- Konfigurieren Sie Ihren Apache-Server so, dass er auf das neue Unterverzeichnis verweist. Bereitstellungskonfigurationen können sehr unterschiedlich sein. Hier finden Sie eine Beispiel-Serverkonfiguration:
<VirtualHost *:80>
DocumentRoot "magento_root/pub/shop1"
ServerName shop01.com
</VirtualHost>
Problem: Der Antrag sendet keine Zahlungsinformationen wie erwartet, wenn ein Käufer zum ersten Mal einen korrekten Code in das CAPTCHA-Feld auf der Zahlungsseite eingibt, zeigt aber diesen Fehler an: There has been an error processing your request
. Dies tritt nur auf, wenn der Käufer versucht, die Bestellung zu platzieren, ohne den CAPTCHA-Code einzugeben oder sie falsch einzugeben. Problemumgehung: Aktualisieren Sie die Seite.
Problem: Die Anwendung erstellt eine Bestellung auf dem Braintree wie erwartet, wenn ein Käufer auf Bezahlen mit Venmo klickt, die Bestellung jedoch nicht in der Admin-Konsole erstellt. Siehe bekanntes Problem 2.4.2: Braintree Venmo-Zahlung funktioniert nicht Knowledge Base-Artikel.
Problem: Sie können die addConfigurableProductToCart
GraphQL-Mutation nicht verwenden, um ein konfigurierbares Produkt in einer nicht standardmäßigen Store-Ansicht in einer Bereitstellung mit mehreren Stores, in der "Bestand"ausgeführt wird, einem Warenkorb hinzuzufügen. (Luma Storefronts sind nicht betroffen.) zeigt das Programm diesen Fehler an: Could not add item to cart. Please check required options and try again
. Problemumgehung: Verwenden Sie stattdessen die addProductsToCart
-Mutation. GitHub-31660
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 Magento Open Source 2.4.2 mit Composer installieren.
Migrationstools
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.