Notes de mise à jour de Magento Open Source 2.4.0
Magento Open Source 2.4.0 introduit la prise en charge de PHP 7.4, Elasticsearch 7.6.x et MySQL 8.0. Parmi les modifications de sécurité importantes figure l’activation par défaut de l’authentification à deux facteurs dans l’interface d’administration.
Avec cette version, l’intégration de la méthode Authorize.Net a été supprimée du code principal. Les commerçants doivent migrer vers l’extension officielle disponible sur le Commerce Marketplace.
Cette version comprend toutes les améliorations de la qualité de base incluses dans 2.3.5-p1, plus de 100 nouveaux correctifs du code de base et 30 améliorations de la sécurité. Il comprend la résolution de 226 problèmes GitHub par les membres de notre communauté. Ces contributions de la communauté vont du nettoyage mineur du code principal à des améliorations importantes dans Inventory management et GraphQL.
Appliquez AC-3022.patch
pour continuer à proposer DHL comme transporteur
DHL a introduit la version 6.2 du schéma et abandonnera la version 6.0 dans un avenir proche. Adobe Commerce 2.4.4 et les versions antérieures qui prennent en charge l’intégration DHL ne prennent en charge que la version 6.0. Les commerçants qui déploient ces mainlevées devraient appliquer AC-3022.patch
dès que possible pour continuer à offrir DHL en tant que transporteur. Pour plus d’informations sur le téléchargement et l’installation du correctif, consultez l’article de la base de connaissances Appliquer un correctif pour continuer à proposer DHL en tant que transporteur.
Correctif de sécurité disponible
Les commerçants peuvent désormais installer des correctifs de sécurité sensibles au temps sans appliquer les centaines de correctifs et améliorations fonctionnels fournis par une version trimestrielle complète (par exemple, 2.3.5-p2). Le correctif 2.3.5.2 (package Compositeur 2.3.5-p2) est un correctif de sécurité qui fournit des correctifs pour les vulnérabilités qui ont été identifiées dans notre version trimestrielle précédente, 2.3.5-p1. Tous les correctifs logiciels qui ont été appliqués à la version 2.3.5 sont inclus dans ce correctif de sécurité. (Un correctif fournit un correctif à une version publiée qui résout un problème ou un bug spécifique.)
Pour obtenir des informations générales sur les correctifs de sécurité, voir Présentation de la nouvelle version du correctif de sécurité.Pour obtenir des instructions sur le téléchargement et l’application des correctifs de sécurité (y compris le correctif 2.3.5-p2), voir Installation sur site avec démarrage rapide. Les correctifs de sécurité incluent uniquement des correctifs de sécurité, et non les améliorations de sécurité supplémentaires incluses dans le correctif complet.
Autres informations de mise à jour
Bien que le code de ces fonctionnalités soit fourni avec des versions trimestrielles , plusieurs de ces projets (par exemple, Inventory management et Progressive Web Applications (PWA) Studio) sont également publiés indépendamment. Les correctifs de bugs pour ces projets sont documentés dans les informations de mise à jour distinctes spécifiques au projet disponibles dans la documentation de chaque projet.
Faits saillants
Recherchez les points forts suivants dans cette version :
Améliorations substantielles de la sécurité
Cette version comprend plus de 30 correctifs de sécurité et améliorations de la sécurité de la plateforme.
Plus de 30 améliorations de la sécurité qui permettent de corriger les vulnérabilités RCE (Remote Code Execution) et XSS (Cross-site scripting)
Aucune attaque confirmée liée à ces problèmes ne s’est produite à ce jour. Cependant, certaines vulnérabilités peuvent potentiellement être exploitées pour accéder aux informations sur les clients ou prendre le contrôle de sessions d’administration. La plupart de ces problèmes nécessitent qu’un attaquant obtienne d’abord l’accès à l’administrateur. Placer sur la liste autorisée Par conséquent, nous vous rappelons de prendre toutes les mesures nécessaires pour protéger votre administrateur, y compris, mais sans s'y limiter, ces efforts : la limitation des adresses IP, l'authentification à deux facteurs, l'utilisation d'un VPN, l'utilisation d'un emplacement unique plutôt que d'un /admin
, et une bonne hygiène des mots de passe. Consultez Mises à jour de sécurité disponibles pour Magento pour une discussion sur ces problèmes résolus. pour une discussion sur ces problèmes résolus.
Améliorations de la sécurité supplémentaires
-
Implémentation de 2FA pour les comptes d’administration, les comptes d’utilisateur magento.com et l’accès SSH dans le cloud
-
Sécurisation de votre compte administrateur. L’authentification à deux facteurs (2FA) est désormais requise pour l’administrateur. Les utilisateurs administrateurs doivent d’abord configurer leur 2FA avant de se connecter à l’administration via l’interface utilisateur ou une API web. 2FA est activé par défaut. Nous vous recommandons vivement de ne pas désactiver le module 2FA. Cette étape supplémentaire d’authentification rend plus difficile, pour les utilisateurs malveillants, la connexion à l’administrateur sans autorisation. Voir Authentification à deux facteurs (2FA).
-
Sécurisation de votre compte. L’authentification à deux facteurs (2FA) fournit une couche de sécurité supplémentaire et facultative pour mieux protéger votre compte magento.com contre les utilisateurs non autorisés qui pourraient utiliser votre compte d’une manière dont vous ne le souhaitez pas. Voir Sécurisation de votre compte.
-
-
Sécurisation de l’accès SSH au cloud. Adobe sur les infrastructures cloud fournit une application d’authentification multifacteur (MFA) pour gérer les exigences d’authentification pour l’accès SSH aux environnements cloud. L’authentification multifacteur pour 2FA n’est pas activée par défaut sur un projet. Adobe recommande vivement d’activer cette fonctionnalité. Contactez l’assistance pour obtenir de l’aide. Voir Activation de l’authentification multifacteur pour l’accès SSH.
-
Le mode strict du filtre de modèle est désormais activé par défaut. Les composants (y compris les pages et blocs CMS) qui utilisent le filtre de modèle en mode hérité peuvent être vulnérables à l’exécution de code à distance (RCE). L’activation du mode strict par défaut garantit que les attaques RCE ne peuvent pas être délibérément activées.
-
Le rendu des données pour les fournisseurs de données de l’interface utilisateur est désormais désactivé par défaut. Cela supprime la possibilité pour des utilisateurs malveillants d’exécuter des JavaScript arbitraires.
-
Nouvelle classe de
\Magento\Framework\Escaper
. Cette classe est fournie pour les modèles.phtml
et les classes PHP responsables de la génération d’HTML. Cette classe contient des méthodes d’assainissement HTML pertinentes pour plusieurs contextes. La variable locale$escaper
est disponible dans.phtml
modèles et doit être utilisée à la place de l’$block->escape{method}
obsolète. Utilisez$escaper
plutôt que$block
, car l’utilisation de$block->escape{method}
a été abandonnée. -
Prise en charge du nouveau fichier security.txt. Ce fichier est un fichier standard sur le serveur qui aide les chercheurs en sécurité à signaler les problèmes de sécurité potentiels aux administrateurs du site.
-
Améliorations de la prise en charge de la politique de sécurité du contenu (CSP).
SecureHtmlRenderer
a été ajouté au framework et est disponible dans les modèles de.phtml
pour whitelister des balisesstyle
etscript
intégrées. Les scripts et les styles intégrés ne sont pas autorisés avec la configuration CSP par défaut, qui peut être remplacée par des fichiers XML.
Mises à niveau de Platform
Les mises à niveau de plateforme suivantes permettent d’améliorer la sécurité et les performances du site web. Les versions prises en charge de PHP et PHPUnit, Elasticsearch, MySQL, et d'autres dépendances sont répertoriées dans exigences de pile technologique.
-
La prise en charge de PHP 7.4 a été introduite et PHP 7.1 et 7.2 a été abandonné. 2.4.0 introduit la prise en charge de PHP 7.4.
-
Prise en charge de PHPUnit 9.x et abandon de PHPUnit 6.5. PHP 7.4 nécessite l'utilisation du dernier framework de test PHPUnit, qui est PHPUnit 9.x. Les fournisseurs d'extensions Commerce Marketplace doivent confirmer que toutes les nouvelles versions d'extension sont compatibles avec PHP 7.4 et que tous les tests unitaires et d'intégration ont été configurés pour être exécutés avec PHPUnit 9.
-
Prise en charge d’Elasticsearch 7.6.x. Elasticsearch 7.6.x est désormais le moteur de recherche catalogue par défaut pour Adobe Commerce et Adobe Commerce. Vous ne pouvez pas installer ni mettre à niveau vers la version 2.4.0 sans installer également Elasticsearch 7.6.x. Le code de la version 2.x d’Elasticsearch a été supprimé. Les versions 5.x et 6.x d’Elasticsearch sont obsolètes et ne sont plus prises en charge. Voir Conditions préalables relatives aux moteurs de recherche.
-
Prise en charge de MySQL 8.0. La version 2.4.x prend en charge MySQL 8.x. (La version 2.4.0 a été testée avec MySQL 8.0.20.) Les commerçants sont encouragés à migrer leurs déploiements vers MySQL 8.x afin de tirer parti de ses performances, de sa sécurité et de sa fiabilité améliorées. Bien que MySQL 5.7 soit toujours pris en charge pour Magento 2.4.x, MySQL 5.6 n’est plus pris en charge. Vous ne pouvez pas héberger 2.4.x avec une base de données MySQL 5.6. Voir MySQL.
-
Suppression du moteur de recherche de catalogue MySQL. Le moteur de recherche MySQL a été supprimé de la version 2.4.0 et remplacé par Elasticsearch en tant que moteur de recherche par défaut. Elasticsearch offre des fonctionnalités de recherche de qualité supérieure ainsi que des optimisations des performances de catalogue. Tous les commerçants doivent disposer d’Elasticsearch pour installer et déployer la version 2.4.0. Voir Vérification de l’installation d’Elasticsearch.
-
Prise en charge de MariaDB 10.4. La prise en charge de MySQL 8.0 permet aux commerçants de déployer MariaDB 10.4 avec Magento Open Source. Bien que les commerçants puissent toujours utiliser MariaDB 10.2 avec 2.4.0, nous vous recommandons de mettre à niveau vers MariaDB 10.4 pour améliorer les performances et la fiabilité. MariaDB 10.0 et 10.1 ne sont plus prises en charge (suite à la suppression de la prise en charge de MySQL 5.6 dans cette version).
-
Migration des dépendances de Zend Framework vers le projet Laminas pour refléter la transition de Zend Framework vers le projet Laminas de la Fondation Linux. La structure d'envoi a été abandonnée. Voir l'article Migration de Zend Framework vers le projet Laminas DevBlog.
-
Décomposition des contrôleurs permet aux développeurs d’extensions d’implémenter ActionInterface directement sans classes de « supertype de couche ». Voir l’article Décomposition des contrôleurs DevBlog . Amélioration démarrée par Vinai Kopp dans la demande de tirage 16268 et finalisée par Lukasz Bajsarowicz dans la demande de tirage 26778. GitHub-9582
-
Suppression de l’intégration principale du code de protection contre la fraude de Signifyd. Cette fonctionnalité principale n’est plus prise en charge. Les commerçants doivent migrer vers l’extension Protection contre la fraude et les refacturations Signifyd disponible sur Commerce Marketplace.
-
Le module core Braintree a été supprimé de la base de code. Le module Braintree Payments offre désormais le même ensemble de fonctionnalités. Voir Paiements Braintree.
-
Le navigateur Internet Explorer 11.x n’est plus pris en charge.
Améliorations de l’infrastructure
Cette version comprend des améliorations de la qualité principale, qui améliorent la qualité du framework et de ces modules : compte client, catalogue, CMS, import, panier et passage en caisse, et B2B.
-
Suppression de l’intégration principale des modes de paiement tiers. Avec cette version, l'intégration de la méthode de paiement Authorize.Net a été supprimée du code principal. Les commerçants doivent migrer vers l’extension officielle disponible sur le Commerce Marketplace. Consultez l’article de devblog Obsolescence des intégrations de paiement.
-
Prise en charge de la recherche par mots partiels pour Elasticsearch (nouveau moteur de recherche par défaut). Elasticsearch prend désormais en charge l’utilisation de mots partiels dans les termes de recherche pour les noms de produit et les SKU lors de l’utilisation de la recherche rapide. Cette fonctionnalité était prise en charge par le moteur de recherche MySQL, qui a été abandonné et remplacé par Elasticsearch dans cette version.
-
Mise à niveau du SDK PayPal JavaScript. Nous avons migré l'intégration de PayPal Express Checkout vers le dernier SDK PayPal JavaScript, un SDK qui collecte et transmet automatiquement les paramètres de risque nécessaires à PayPal. Le comportement du mode de paiement PayPal Express Checkout reste inchangé. Toutefois, la mise à niveau de ce SDK vers la dernière version permet aux commerçants d’accéder aux dernières fonctionnalités et améliorations de la sécurité.
-
Abandon et suppression de l'Assistant Configuration Web. Vous devez utiliser la ligne de commande pour installer ou mettre à niveau la version 2.4.0. Voir Installation de Magento.
-
Module externe de mise à jour du compositeur. Le plug-in du compositeur simplifie le processus de mise à niveau en résolvant les modifications qui doivent être apportées au fichier
composer.json
du projet racine avant la mise à niveau vers une nouvelle version. Ce plug-in protège contre le remplacement des personnalisations. Voir Mise à niveau à l’aide du plug-in racine du compositeur. -
Achats assistés par le vendeur. Cette fonctionnalité permet aux commerçants d'afficher le storefront au nom de leurs clients. Les clients choisissent d’autoriser l’accès storefront à leurs comptes. Cette fonctionnalité communautaire comprend une extension originale développée par MAGEFAN. Voir Achat assisté par le vendeur. Les fonctionnalités incluent :
- Une liste de contrôle d’accès pour contrôler quels administrateurs peuvent se connecter aux comptes clients peut être configurée site par site web
- Compatibilité avec plusieurs sites web et portées de compte client
- Les commandes passées au nom des clients sont consignées dans le storefront et l’administrateur
- Toutes les sessions sont détruites après la déconnexion de l’administrateur, qui ne peut pas accéder aux mots de passe du client.
Améliorations des performances
-
Améliorations de la logique d’invalidation de la section Données client. Cette version introduit une nouvelle façon d’invalider toutes les données des sections client qui évite un problème connu avec le stockage local lorsque les invalidations de
sections.xml
personnalisées sont actives. (Auparavant, le contenu privé (stockage local) n’était pas correctement renseigné lorsque vous aviez un etc/frontend/sections.xml personnalisé avec des invalidations d’action.) Voir Contenu privé. -
Plusieurs optimisations des performances Redis. Ces améliorations réduisent le nombre de requêtes à Redis qui sont effectuées sur chaque requête. Ces optimisations incluent :
-
Réduction de la taille des transferts de données réseau entre Redis et Magento
-
Réduction de la consommation de cycles CPU par Redis en améliorant la capacité de la carte à déterminer automatiquement ce qui doit être chargé
-
Réduction des conditions de concurrence sur les opérations d’écriture Redis
Voir Utiliser Redis pour la page et le cache par défaut et Configurer la mise en cache.
-
-
Amélioration de la mise en cache des résultats des requêtes SQL dans les tables d’inventaire. Ces améliorations comprennent :
-
Mise en cache des requêtes SQL dans la table
inventory_stock_sales_channel
(1 requête au lieu de 16) -
Mise en cache du résultat des requêtes dans la table
inventory_stock
(1 requête au lieu de 16)
-
-
Amélioration de 25 à 30 % des performances de l’ajout au panier pour les commandes rapides.
-
Les commerçants peuvent désormais utiliser le chargement différé pour charger des images.
Intégration Adobe Stock v2.0
Possibilité d’acquérir des aperçus d’images du stock sous licence depuis la Galerie de médias. Les commerçants peuvent désormais trouver n’importe quelle image d’aperçu Adobe Stock dans la Galerie de médias, ce qui réduit le nombre d’étapes nécessaires pour obtenir une licence pour l’image d’aperçu de stock.
Galerie de nouveaux médias
Ce remplacement de l’ancienne Galerie de médias offre une nouvelle interface de recherche pour les ressources multimédias. Les administrateurs peuvent désormais rechercher, filtrer et trier des images jusqu’à 30 fois plus rapidement que dans la version précédente de cette fonctionnalité. Les commerçants peuvent utiliser cet outil pour évaluer l’utilisation des images de storefront. Les développeurs d’extensions doivent savoir que les extensions développées pour la Galerie de médias ne fonctionneront pas comme prévu avec la nouvelle Galerie de médias.
Inventory management
Les améliorations d’Inventory management pour cette version comprennent la prise en charge du retrait en magasin et la prise en charge des produits groupés. Voir les notes de mise à jour d’Inventory management pour une discussion plus détaillée des correctifs Inventory management récents.
GraphQL
Les améliorations apportées à GraphQL sont les suivantes :
pickupLocations
requête prend en charge la fonctionnalité de retrait en magasin de l’inventairecategories
requête renvoie une liste de catégories correspondant à un filtre spécifié. Cette requête diffère de la requêtecategoryList
dans la mesure où elle prend en charge la pagination.reorderItems
mutation permet à un utilisateur connecté d’ajouter tous les produits d’une commande précédente dans son panier.
Voir le Guide du développeur de GraphQL pour plus d’informations à ce sujet et sur d’autres améliorations. Voir Notes de mise à jour pour une discussion détaillée des correctifs GraphQL récents.
PWA Studio
Consultez compatibilité pour obtenir la liste des versions de PWA Studio et de leurs versions compatibles. Pour plus d’informations sur les améliorations et les correctifs, voir Versions de PWA Studio.
Functional Testing Framework (MFTF)
MFTF v3.0.0 comprend ces nouvelles fonctionnalités et inclut la prise en charge de PHP 7.4 et PHPUnit 9 :
- les assistants MFTF, qui peuvent créer des actions personnalisées en dehors du framework de test.
- mises à jour des schémas pour les entités de test
- sous-dossiers dans les modules de test
- syntaxe d'assertions imbriquées
- vérification statique qui vérifie et signale les références aux entités de test obsolètes
Cette version supprime également les actions obsolètes et met à niveau les scripts qui ont été ajoutés aux tests de mise à niveau vers les exigences de la version majeure de MFTF.
Améliorations des extensions développées par le fournisseur
Cette version d’comprend des extensions développées par des fournisseurs tiers. Elle introduit à la fois des améliorations de qualité et d'expérience utilisateur dans ces extensions et une extension de la couverture MFTF.
Les fournisseurs d'extensions Commerce Marketplace doivent confirmer que leurs extensions sont compatibles avec PHP 7.4 lors de la publication d'une nouvelle version de leur extension pour 2.4.0.
Amazon Pay
Cette version comprend les éléments suivants :
- Placer sur la liste autorisée Mises à jour des CSP
- Possibilité d'effectuer plusieurs autorisations pour une commande multiarticle
- Prise en charge des adresses japonaises
Braintree Payments
Cette extension remplace notre intégration Braintree principale. Il fournit les mêmes fonctionnalités que l’intégration principale de Braintree. Voir Paiements Braintree.
Klarna
Cette version comprend de nouvelles options de messagerie sur site pour aider les acheteurs à comprendre les options de crédit et de financement disponibles. Il comprend également des améliorations aux éléments suivants :
- restitutions
- Efficacité des API
- cookies et tests unitaires
- remises
- Les paramètres de configuration contiennent désormais une section Messagerie sur site pour le contrôle de l’affichage storefront des messages promotionnels Klarna
Vertex
Cette version de Vertex comprend les nouvelles fonctionnalités et améliorations suivantes :
- Améliorations de l’expérience utilisateur de la configuration d’administration
- Remplacement des scripts d'installation et de mise à niveau par des fichiers de schéma XML et des correctifs
- Suppression du code obsolète (
ApiClient
etClientInterface
)
Haut
Les évaluations et commentaires de haut niveau sont intégrés à Page Builder.
Problèmes résolus
Nous avons corrigé des centaines de problèmes dans le code principal 2.4.0.
Installation, mise à niveau, déploiement
- Vous pouvez désormais supprimer un site web avec les paramètres de configuration spécifiques à l’étendue du site web dans
app/etc/config.php
comme prévu. Auparavant, lorsque vous tentiez de supprimer le site web, l’opération échouait et l’application affichait cette erreur :The website with code xxx that was requested wasn't found. Verify the website and try again
. En outre, l’application a affiché cette erreur sur le storefront :Config files have changed. Run app:config:import or setup:upgrade command to synchronize configuration
. GitHub-24061
- Les paramètres de configuration désactivés dans
index.php
ne sont plus modifiables à partir de l’administration.
L’installation de Magento Open Source s’est maintenant terminée avec succès et les magasins sont créés comme prévu, lorsque la configuration du magasin est prédéfinie dans config.php
.
\Magento\Store\App\Config\Source\RuntimeConfigSource::getEntities
a été refactorisé pour réduire le nombre de requêtesSHOW TABLE STATUS
qu’il effectue. (Cette modification rétablit le comportement de cette fonction affiché dans la version 2.3.3.)
- Les scripts de données ne sont plus réexécutés lorsque vous tentez de mettre à niveau la base de données en exécutant
bin/magento setup:upgrade
. Auparavant, les scripts de mise à niveau étaient inutilement réexécutés, ce qui affectait les performances. GitHub-19469
-
L’application affiche désormais les comportements suivants lorsque la connexion à Redis est interrompue. Auparavant, l’application ne rechargeait pas la page active et affichait cette erreur :
An error has happened during application run. See exception log for details
.- Les sessions d’administrateur et de storefront expirent
- Les utilisateurs administrateurs et storefront doivent se reconnecter
- Les données de session sont enregistrées dans
var/session/
- Aucune erreur ou exception n’est consignée.
- La commande
bin/magento setup:di:compile
n’échoue plus avec les classes anonymes. Correctif soumis par Yevhen Sentiabov dans la demande de tirage 26533. GitHub-26532, GitHub-21555
- Les problèmes liés à la compilation LESS dans le thème Luma de Magento lors de l’utilisation d’un compilateur LESS alternatif à celui fourni avec l’application par défaut ont été résolus. Correctif soumis par Pieter Hoste dans la demande de tirage 24003. GitHub-23619
- Vous n’avez plus besoin de disposer d’un fichier
env.php
inscriptible lors du passage en mode de maintenance. Au lieu de cela, l’application définit les en-têtesno-cache
pour toutes les requêtes front-end en mode de maintenance (Cache-Control
). Auparavant, vous ne pouviez pas activer le mode de maintenance lorsqueenv.php
était en lecture seule et que l'application essayait de désactiver le FPC lors du passage en mode de maintenance. Correctif soumis par Marco K̦pcke dans la demande de tirage 25790. GitHub-24229
db-ssl-verify
n’entraîne plus d’erreur d’index non défini lors d’une configurationddev
. Correctif soumis par Daniel Ruf dans la demande de tirage 26763. GitHub-26762
- Les dépendances du compositeur ont été mises à jour pour implémenter l’expiration de la clé Redis, ce qui a amélioré les performances de Redis. Correction envoyée par toxix dans la demande de tirage 25488. GitHub-25487
Intégration d’Adobe Stock
- Des styles CSS ont été ajoutés à l’affichage de l’image Adobe Stock pour prendre en charge la mise en surbrillance de l’image sélectionnée. Correctif soumis par Serhiy Zhovnir dans la demande de tirage 25864. GitHub-761
- La navigation dans les images d’aperçu Adobe Stock n’est plus déclenchée par le déplacement du curseur du champ de saisie à l’aide des touches fléchées. Correctif soumis par Adarsh Manickam dans la demande de tirage 27138. GitHub-973
- L’application met désormais en cache les messages pour les erreurs qui se produisent lorsqu’un client tente d’appliquer un filtre aux images Adobe Stock. Correctif soumis par Shankar Konar dans la demande de tirage 26502. GitHub-863
- L’application n’enregistre plus l’aperçu d’une image Adobe Stock lorsque vous déplacez le curseur sur la barre de défilement verticale gauche de la fenêtre après avoir cliqué sur Enregistrer l’aperçu mais sans confirmer l’opération d’enregistrement. Correctif soumis par Serhiy Zhovnir dans la demande de tirage 27399. GitHub-1002
Serveur principal
- Les modèles d’e-mail (Admin > Marketing > Communications > Modèles d’e-mail) peuvent désormais être prévisualisés à partir de l’administration lorsque la minimisation de JavaScript est activée. Auparavant, lorsque vous tentiez de prévisualiser un modèle d’e-mail, la fenêtre contextuelle d’aperçu d’e-mail était vide. GitHub-25068
- Les administrateurs peuvent désormais se connecter à l’administrateur comme prévu après la création d’un compte d’administrateur avec des privilèges limités. Auparavant, l’administrateur n’était pas accessible. Au lieu de cela, les utilisateurs disposant de ces autorisations ont été redirigés vers le storefront avec une erreur 404. Correctif soumis par Eden Duong dans la demande de tirage 25909. GitHub-25881
- L’application ne duplique plus les données d’optimisation du moteur de recherche (SEO) telles que la clé URL, le méta-titre, les méta-mots-clés et la méta-description lorsque vous dupliquez un produit. Correctif envoyé par le correctif Dasharth dans la demande de tirage 26659. GitHub-26054
- L’application ne renvoie plus d’erreur lorsque vous supprimez une image d’une page lors de sa création à partir de Admin > Contenu > Pages > Ajouter une nouvelle page. Auparavant, l’application générait cette erreur dans la Developer Console :
500 (Internal Server Error)
. Correctif soumis par Eden Duong dans la demande de tirage 25924. GitHub-25893
Lots de produits
- Les performances de l’opération de réindexation
catalog_product_price
pour les produits groupés ont été améliorées.
- Les administrateurs ne peuvent plus saisir manuellement une classe de taxe dans l’administrateur pour un produit groupé lorsque les paramètres Classe de taxe et Prix dynamique du produit groupé sont désactivés pour la vue de magasin par défaut. Auparavant, lorsqu’un administrateur décochait l’option Utiliser la valeur par défaut en regard de Classe de taxe, l’application activait l’option, permettant à un administrateur de saisir une autre valeur et d’enregistrer le produit.
- Les prix des offres groupées sont désormais correctement calculés sur les pages de produits.
- Vous pouvez désormais ajouter un nombre illimité de produits groupés à votre panier sans erreur. Auparavant, lorsque vous ajoutiez un produit groupé à votre panier, puis que vous accédiez au panier, l’application affichait cette erreur :
Please correct the quantity for some products
.
Cache
- Le schéma
cache.xsd
deMagento\Framework\Cache
a été refactorisé de sorte qu’un type de cache sans attributinstance
ne provoque plus d’exceptions lorsque vous désactivez un module via la gestion du cache d’administration. Auparavant, lorsque vous créiez un type de cache à l’aide decache.xml
sans l’argumentinstance
, l’application générait une exception lorsque vous tentiez de le désactiver. Correctif soumis par Andrii Beziazychnyi dans la demande de tirage 27307. GitHub-26224
health_check.php
n’échoue plus si un moteur de cache de base de données est configuré dans votre déploiement . Correctif soumis par Andrii Beziazychnyi dans la demande de tirage 25722. GitHub-25669
Panier et passer en caisse
- L’application ne renvoie plus d’erreur lors de l’extraction lorsque le paramètre de configuration Synchroniser avec le serveur principal est activé. GitHub-23833
- Les boutons radio pour les méthodes d’expédition sont désormais activés comme prévu dans le workflow de passage en caisse.
- La page de révision de commande du workflow de passage en caisse se charge désormais correctement pour une commande en cours d’expédition à plusieurs adresses lorsque les conditions générales avec le paramètre Appliqué manuellement sont activées. Auparavant, la page Révision n’était pas validée et l’application affichait une erreur 404.
- L’application affiche désormais l’icône qui tourne lorsque les prix sont mis à jour sur le panier.
- L’application affiche désormais un message d’information lorsqu’un produit du mini panier est en rupture de stock avant le passage en caisse. Une fois que vous avez supprimé l’article en rupture de stock, l’application affiche le bouton Passer en caisse. Auparavant, l’application n’affichait pas ce bouton.
- L’application affiche désormais un message d’erreur informatif lorsque vous essayez d’ajouter un produit en cliquant sur Classer par SKU lorsque le fichier à charger est corrompu. Auparavant, l’application affichait une page vierge.
- L’application applique désormais les règles de prix de panier uniquement aux produits enfants du lot qui correspondent aux critères de la règle. Auparavant, l’application appliquait la règle de prix du panier à tous les produits enfants appartenant au produit groupé.
StorefrontMiniCartSection
a été remplacé parStorefrontMinicartSection
dans les tests MFTF. Correctif soumis par Andrii Kalinich dans la demande de tirage 27955. GitHub-27897
- Les références codées en dur au composant Sélecteur de pays dans le formulaire d’adresse d’expédition ont été supprimées. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 25541. GitHub-22416
- L’application ne souligne plus l’icône Supprimer dans le panier lorsque le curseur survole l’icône lors de l’affichage du storefront dans Internet Explorer. Correctif soumis par divyajyothi5321 dans la demande de tirage 26173. GitHub-26164
- La modification de la rue de facturation ne modifie plus l’adresse de livraison d’un client lorsqu’une seule adresse a été sélectionnée pour les adresses de facturation et de livraison. Correctif soumis par Yurii Tvardyi dans la demande de tirage 26279. GitHub-26276
- La zone de promotion du mini panier est désormais rendue comme prévu. Correctif soumis par Matti Vapa dans la demande de tirage 25375. GitHub-25373
Règle de prix du panier
- Les règles de prix de panier basées sur les modes de paiement sont désormais appliquées pendant le workflow de passage en caisse. GitHub-24206
- Correction du comportement de l’élément de page Sélecteur de date sur Admin > Marketing > Promotions > Règle de prix de catalogue. Correctif envoyé par Hitesh dans la demande de tirage 26290. GitHub-26289
StorefrontMiniCartSection
a été remplacé parStorefrontMinicartSection
dans les tests MFTF. Correctif soumis par Andrii Kalinich dans la demande de tirage 27955. GitHub-27897
- La grille de coupons inutilisée dans le workflow Créer une règle de prix de panier a été désactivée. Correctif soumis par Eden Duong dans la demande de tirage 24471. GitHub-24468
- La modification de la rue de facturation ne modifie plus l’adresse de livraison d’un client lorsqu’une seule adresse a été sélectionnée pour les adresses de facturation et d’expédition. Correctif soumis par Yurii Tvardyi dans la demande de tirage 26279. GitHub-26276
Catalogue
- L’application ne renvoie plus d’erreur lorsque vous modifiez le nom d’un produit à plusieurs niveaux inclus dans une mise à jour planifiée. Auparavant, lorsque vous tentiez d’enregistrer le produit sous un nouveau nom, l’application affichait cette erreur :
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '3-0-0-2.0000-0' for key 'UNQ_EBC6A54F44DFA66FA9024CAD97FED6C7', query was: INSERT INTO catalog_product_entity_tier_price (all_groups, customer_group_id, qty, value, website_id, percentage_value, row_id) VALUES (?, ?, ?, ?, ?, ?, ?)
- Les valeurs d’attribut personnalisées peuvent désormais être enregistrées comme prévu à partir de l’administrateur.
- La fonction Afficher récemment les produits affiche désormais les produits associés uniquement à la vue de magasin actuelle dans les déploiements multi-magasins lorsque Magasins > Configurations > Catalogue > Produits récemment consultés/comparés > Afficher pour actuel est défini sur vue de magasin. Auparavant, l’application affichait les produits récemment consultés sur tous les sites web, quel que soit le site web auquel le produit était affecté.
- L’application affiche désormais les images du produit dans le mini panier sans distorsion. Auparavant, l’application étirait l’image dans le mini panier pour remplir toute la largeur et la hauteur du conteneur d’images.
- La fonction
getBasePrice
renvoie désormais une valeur flottante comme prévu, plutôt qu’une chaîne.
- La fonctionnalité de comparaison de produits fonctionne désormais comme prévu. Il affiche désormais uniquement les produits de la liste de comparaison de l’utilisateur actuel.
- Vous pouvez désormais attribuer un filigrane par défaut à un thème. Auparavant, après avoir affecté le filigrane, l’application générait une erreur fatale.
- Vous pouvez désormais modifier un produit configurable avec de nombreuses variantes (environ 5 000) à partir de l’administration. Auparavant, lorsque vous tentiez de modifier un produit configurable avec de nombreux sous-produits, l’application affichait cette erreur :
Warning: DOMDocumentFragment::appendXML(): Entity: line 1: parser error : CData section too big found in /vendor/magento/framework/View/TemplateEngine/Xhtml/Template.php on line 60
- Le tri sur les jeux d’attributs dans Admin > Catalogue > Produits est désormais basé sur l’ordre alphabétique prévu.
- La fonctionnalité Produits récemment consultés fonctionne désormais comme prévu dans les déploiements multi-magasin.
- La case à cocher Produit dans les sites web de la nouvelle page de produit est désormais activée par défaut pour les administrateurs restreints dans les déploiements multi-sites. Auparavant, la case à cocher du site web autre que la case par défaut n’était pas présélectionnée et si l’administrateur ne la cochait pas, l’application affichait un message d’erreur.
addToCart
événements sont désormais suivis comme prévu dans la couche de données. Auparavant, après avoir modifié les options configurables d’un produit, puis cliqué sur Ajouter au panier, le nouvel événementaddToCart
n’était pas ajouté à la couche de données.
- Le mini panier et le panier Administrateur (Admin > Clients > Gérer le panier) affichent désormais les prix corrects des produits lorsqu’une règle de prix de catalogue est appliquée. Auparavant, le panier de storefront affichait le prix correct du produit, mais le panier mini et le panier d’administration affichaient le prix d’origine du produit.
- Le filtrage sur la colonne Admin de la grille de produit du site Web fonctionne désormais comme prévu. Auparavant, les résultats du filtre n’affichaient pas le nombre correct de produits, mais affichaient systématiquement le nombre total de produits comme 1.
- La condition de prix utilise
catalog_product_entity_decimal
pour filtrer par prix. Cependant, ce tableau ne contient aucun enregistrement pour les produits configurables, dynamiques groupés et groupés, car ces produits n'ont pas de prix fixe. La table appropriée à utiliser pour le filtrage par prix estcatalog_product_index_price
.
- Le catalogue d'administration et les listes de produits affichent désormais des symboles de devise dans les colonnes MSRP, Coût et Prix spécial. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27261. GitHub-21910, GitHub-20906, GitHub-20472
- La fenêtre pop-up Ajouter pour le prix du groupe de clients (Admin > Catalogue > Produits > Nouveau produit > Tarification avancée) se ferme désormais comme prévu lorsque vous cliquez sur l’icône de fermeture. Correctif soumis par Ashna-Jahan dans la demande de tirage 25759. GitHub-25433
- L’exemple de description fourni pour la description et le titre d’un nouveau produit ne contient plus de guillemets doubles. Correctif soumis par Nathan Morgan dans la demande de tirage 25655. GitHub-25654
- L’application ne renvoie plus d’erreur lorsque vous essayez de filtrer les produits sur la page Catégorie à l’aide d’un prix non valide. Auparavant, l’application consignait cette erreur dans le journal système. Correctif soumis par Ihor Sviziev dans la demande de tirage 25912. GitHub-25911
- Vous pouvez désormais parcourir les résultats de la recherche par catégorie de plusieurs pages. Auparavant, l’application créait des pages en double de résultats de recherche lorsque vous tentiez d’utiliser le bouton Précédent pour revenir à la première page de résultats. Correctif soumis par Douglas Radburn dans la demande de tirage 25337. GitHub-14971
- Correction du type de retour à
string|null
pour la méthodegetSourceModel
dans la classeEav\Attribute.php
. Correctif soumis par Mychailo dans la demande de tirage 25333. GitHub-25278
- L’enregistrement d’un nouveau produit (dupliqué) n’entraîne plus la duplication des images du produit des centaines de fois. Correctif envoyé par Jeroen dans la demande de tirage 25875. GitHub-9466
- L’application ne renvoie plus d’erreur JavaScript lorsque vous supprimez un produit avec une option personnalisée de type
file
lors de la création d’une commande auprès de l’administrateur. Correctif envoyé par adrian-martinez-interactiv4 dans la demande de tirage 24843. GitHub-24842
- Lorsque vous créez un produit sans image à l’aide de
product_page_image_large
dans votre disposition, une image d’espace réservé s’affiche comme prévu. Auparavant, l’application générait cette erreur :Fatal error: PHP Fatal error: Uncaught TypeError: Argument 1 passed to Magento\Catalog\Block\Product\ImageFactory::getRatio() must be of the type integer, null given
. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 26974. GitHub-26973
- Vous pouvez utiliser le point d’entrée
POST /V1/:sku/links
pour définir des liens de produit avec un tableau de produits vide lorsque le produit comporte des liens existants. Auparavant, l’application générait une erreur. Correctif soumis par Sathish Subramanian dans la demande de tirage 26979. GitHub-26800
- Vous pouvez désormais utiliser le menu déroulant Actions de la grille Produits pour spécifier si un produit a un poids lorsque vous mettez à jour les attributs de plusieurs produits à partir de l’Administration. Correctif soumis par Bartomiej Szubert dans la demande de tirage 26075. GitHub-6310
- Une logique de validation a été ajoutée aux champs Produits par page sur les valeurs autorisées de la grille et Produits par page sur la valeur par défaut de la grille de la page de configuration du magasin. Auparavant, les administrateurs de magasin pouvaient saisir des valeurs indisponibles dans ces champs. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 27093. GitHub-27089_
Widget de catalogue
- La liste de produits
CatalogWidget
fonctionne désormais comme prévu avec les catégories d’ancrage, et les produits des catégories d’ancrage sont désormais mis en correspondance et affichés. Auparavant, lorsque vous sélectionniez une catégorie parente qui était une ancre, mais qui ne contenait pas de produits affectés, les produits n’étaient pas visibles dans le widget.
- L’application affiche désormais tous les enfants d’une catégorie parent sélectionnée comme prévu. Auparavant, si vous sélectionniez une catégorie parente qui était une ancre, mais qui ne contenait pas de produits attribués, l’application n’affichait pas tous les produits imbriqués.
- Le widget Produits récemment consultés fonctionne désormais correctement lorsque Magasins > Configuration > Catalogue > Catalogue > Récemment consultés/comparés > Synchroniser les produits du widget avec le stockage principal est défini sur Yes.
Nettoyage
- Suppression d’une balise de fermeture supplémentaire du module XML. Correctif soumis par Tejash Kumbhare dans la demande de tirage 26339. GitHub-26338
- Correction d’un mauvais alignement de la case Mes adresses de facturation et d’expédition sont les mêmes de la section de la page Vérification et paiements du workflow de passage en caisse. Correctif soumis par divyajyothi5321 dans la demande de tirage 26169. GitHub-26168
- Suppression de l’espace blanc inutile entre les libellés du champ et les astérisques dans la section Adresse d’expédition du workflow de passage en caisse. Correctif soumis par Daniel Ruf dans la demande de tirage 26285. GitHub-26275
- Correction du mauvais alignement des boutons radio de la section Modes d’expédition du workflow de passage en caisse. Correctif envoyé par Hitesh dans la demande de tirage 25966. GitHub-25962
- Correction de l’espacement incohérent des menus dans la vue mobile. Correctif envoyé par Hitesh dans la demande de tirage 26238. GitHub-26235
- Correction du mauvais alignement des icônes Modifier et Supprimer du mini panier en mode mobile. Correctif soumis par Vasilii Burlacu dans la demande de tirage 27493. GitHub-26652
- Correction d’un mauvais alignement de la plage de codes postaux et du code postal du taux de taxe sur la page Ajouter un nouveau taux de taxe/code postal (Admin > Store > Taxes > Zones et taux de taxe). Correctif soumis par Sathish Subramanian dans la demande de tirage 26932. GitHub-26917
- Le lien de l'Assistant Configuration vers l'administrateur fonctionne maintenant comme prévu. Correctif soumis par Oleh Usik dans la demande de tirage 26100. GitHub-24990
- Le tri a été désactivé dans la colonne Statut de la grille de gestion du cache dans l’Administration. Correctif soumis par Sathish Subramanian dans la demande de tirage 26215. GitHub-26208
- Correction du mauvais alignement des éléments de la page dans la boîte de dialogue Admin > Magasins > Attributs > Évaluations > Ajouter de nouvelles évaluations. Correctif soumis par Sathish Subramanian dans la demande de tirage 27014. GitHub-26992
- Correction du mauvais alignement de l’icône de calendrier sur la page Ajouter une modification de conception . Correctif soumis par Eduard Chitoraga dans la demande de tirage 26063. GitHub-20379
- Suppression de l’espace inutile dans le sous-menu s’affiche dans le menu de survol de la page d’accueil. Correctif envoyé par Hitesh dans la demande de tirage 25973. GitHub-25972
- Correction d’un mauvais alignement des étiquettes de prix sur la page des détails du produit Storefront. Correctif soumis par divyajyothi5321 dans la demande de tirage 26237. GitHub-25936
- Correction d’un mauvais alignement du texte en rupture de stock par rapport au bouton Ajouter au panier sur la page de liste de produits dans l’affichage mobile. Correctif soumis par divyajyothi5321 dans la demande de tirage 26183. GitHub-26181
- Le message de réussite de l’intégration affiché dans Admin > System > Extensions > Integrations s’affiche désormais correctement. Correctif soumis par divyajyothi5321 dans la demande de tirage 26011. GitHub-25930
Contenu CMS
- Vous pouvez désormais enregistrer et dupliquer toutes les pages CMS. Auparavant, l’application générait cette exception lorsque vous tentiez de dupliquer certaines pages :
Unique constraint violation found
.
- L’application vous permet désormais de créer des blocs CMS portant des noms identiques si les blocs sont affectés à différentes vues de magasin.
- Sélectionnez dans la Galerie Les miniatures d’images sont désormais mises en cache comme prévu. Auparavant, ces images étaient redimensionnées à la volée.
- L’application ne renvoie plus d’erreur lorsque vous enregistrez une page CMS qui a été affectée à plusieurs magasins. Auparavant, lorsque vous créiez ou modifiiez une page CMS, l’application enregistrait la page, mais générait également cette erreur :
Item (Magento\VersionsCms\Model\Hierarchy\Node) with the same ID "PAGE_ID" already exists
.
- Les nouvelles pages CMS sont désormais ajoutées comme prévu à la hiérarchie des pages de magasin d’un site web.
- La logique de mise à jour de la disposition personnalisée des pages CMS a été améliorée. L’application applique désormais des modifications de mise en page spécifiques à partir de
cms_page_view_selectable_home_somechanges.xml
. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27131. GitHub-26758
Produits configurables
- Les produits enfants d’un produit configurable peuvent désormais être désactivés avec succès via l’API.
- Les règles de prix de panier avec une condition définie comme Catégorie (parent uniquement) fonctionnent désormais systématiquement comme prévu.
- Vous pouvez désormais ajouter un produit configurable au panier à partir de l’onglet Ventes croisées . Lorsque vous sélectionnez un produit et cliquez sur Ajouter au panier à partir de cet onglet, vous êtes désormais dirigé vers la page des détails du produit, où vous pouvez sélectionner des options de produit spécifiques. Auparavant, l’application vous redirigeait vers une page d’erreur 404.
- L’application ne lie plus un produit simple à un produit configurable lorsque l’appel API pour lier ces produits échoue.
- Correction du rendu des SKU dans la liste des variations actuelles pour un produit configurable. Correctif soumis par KaushikChavda dans la demande de tirage 26007. GitHub-25591
- Vous pouvez désormais enregistrer
system.xml
informations de configuration en saisissant des valeurs dans Admin > System > Configuration dans les champs auxquels aucun libellé n’est associé. Correctif soumis par Andrii Chorniy dans la demande de tirage 25985. GitHub-23899
- Les performances de
\Magento\ConfigurableProduct\Model\Product\Type\Configurable::isSalable
ont été optimisées. Correctif soumis par Stanislav Ilnytskyi dans la demande de tirage 26071. GitHub-26065
- La logique responsable de la mise à jour des images de produit configurables a été améliorée. Auparavant, les produits simples associés à un produit configurable affichaient uniquement l’image par défaut associée au produit configurable, et l’application affichait parfois une image principale incorrecte pour le produit. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 26560. GitHub-26473, GitHub-26856, GitHub-26858
- L’application affiche désormais le prix spécial d’un produit comme prévu lorsque vous sélectionnez une option de remise d’un produit configurable. Auparavant,
class="normal-price"
n’était pas remplacé parclass="special-price"
lorsqu’une option de remise était sélectionnée. Correctif soumis par Ravi Chandra dans la demande de tirage 26170. GitHub-24972
Cookies
- Les fonctions
setRedirectCookie
etclearRedirectCookie
fonctionnent désormais comme prévu. Auparavant, ces fonctions envoyaient des cookies au navigateur, mais tous les paramètres de cookie étaient manquants. GitHub-24547
- Des métadonnées ont été ajoutées aux fonctions
setRedirectCookie
etclearRedirectCookie
. Correctif soumis par Alexander Lukyanov dans la demande de tirage 24612. GitHub-24547
Attributs de client personnalisés
- L’application ne renvoie plus d’erreur lorsque vous incluez un champ d’attribut client vide dans le champ Forms à utiliser dans lors de la création d’un compte d’entreprise sur le storefront. Auparavant, l’application générait cette erreur :
PHP Fatal error: Uncaught TypeError: Argument 2 passed to Magento\Eav\Model\Attribute\Data\Text::validateLength() must be of the type string, null given
.
Client
- Les clients abonnés aux newsletters en tant qu’invités ne sont plus désabonnés après l’enregistrement d’un nouveau compte.
- L’application utilise désormais un nouveau
PHPSession
pour chaque changement de mot de passe.
- Vous pouvez désormais créer un client et l’associer à un site web particulier à l’aide du menu déroulant Associer au site web dans Clients > Tous les clients > Ajouter un nouveau client. Auparavant, lorsque vous tentiez d’associer un nouveau client au site web autre que celui par défaut dans un déploiement multisite, l’application affichait cette erreur :
The store view is not in the associated website
.
- L’application enregistre désormais les informations saisies par un client dans les champs de facturation et d’expédition par défaut lors du passage en caisse lorsque la transaction est initialement refusée en raison d’une carte de crédit non valide, mais qu’elle est ensuite terminée avec succès. Auparavant, bien que l’application ait créé la commande lorsque le client a saisi des informations de paiement valides, elle n’a pas mis à jour les adresses de facturation ou d’expédition par défaut dans la section Mon compte du workflow de passage en caisse.
- L’application respecte désormais les paramètres de groupe client lorsque vous créez un nouveau client à partir de l’administration dans un déploiement multisite.
- L’application importe désormais correctement les données client à l’aide de l’option Client et adresses (fichier unique) lorsque
cron
est activé et que l’indexeur de grille client est défini sur Mettre à jour selon le calendrier. Après l’exécution decron
, les informations client importées sont disponibles dans l’Administration comme prévu. Auparavant, l’application importait les données client, mais ne mettait pas à jour la grille client avec les enregistrements client nouvellement importés.
- Vous pouvez désormais créer un nouveau client à partir du storefront lorsque la date de naissance est requise. Auparavant, vous ne pouviez pas créer de client lorsque ce champ était obligatoire, même lorsque vous entriez des valeurs DOB valides. GitHub-26700
- La création du client à partir de l’administration respecte désormais le paramètre de groupe de clients par défaut comme prévu.
- Le
PHPSessionId
est maintenant modifié comme prévu après la déconnexion puis la reconnexion d’un client.
- La vue Administrateur d’un panier client affiche désormais tous les produits qui ont été ajoutés au panier à partir de plusieurs sites web dans un déploiement multisite. Auparavant, lorsqu’un client ajoutait un produit à son panier à partir d’un site web autre que celui par défaut, le produit n’était pas affiché dans l’interface d’administration même lorsque Partager le compte client était défini sur Global.
- L’application affiche désormais uniquement les produits que le client a placés dans son panier lorsque le panier est affiché par l’administrateur. Auparavant, le panier d’un client affichait tous les produits du catalogue lorsqu’ils étaient consultés par l’administrateur. Correctif soumis par Ravinder dans la demande de tirage 26489. GitHub-26437
- La validation fonctionne désormais comme prévu pour le champ Date de naissance lors de l’édition d’un client à partir de l’administration. Auparavant, l’application ne tenait pas compte des paramètres régionaux de l’utilisateur et pour certaines dates de naissance, elle affichait l’erreur suivante :
The Date of Birth should not be greater than today
. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27149. GitHub-27027
- Le champ e-mail n’est plus nécessaire lors de la commande auprès de l’administrateur. Correctif envoyé par solwininfotech dans la demande de tirage 24479. GitHub-22251
- Le tableau de bord Mon compte affiche désormais correctement les valeurs des adresses e-mail en mode mobile. Correctif soumis par Eden Duong dans la demande de tirage 25942. GitHub-25935
- Plusieurs fois, le fait de cliquer sur le bouton Créer un compte dans le formulaire d’enregistrement du client ne permet plus d’envoyer la demande d’enregistrement plusieurs fois. Correctif soumis par princeCB dans la demande de tirage 26642. GitHub-26590
- Les clients abonnés aux newsletters en tant qu’invités ne sont plus désabonnés après l’enregistrement d’un nouveau compte.
- L’application utilise désormais un nouveau
PHPSession
pour chaque changement de mot de passe.
- Vous pouvez désormais créer un client et l’associer à un site web particulier à l’aide du menu déroulant Associer au site web dans Clients > Tous les clients > Ajouter un nouveau client. Auparavant, lorsque vous tentiez d’associer un nouveau client au site web autre que celui par défaut dans un déploiement multisite, l’application affichait cette erreur :
The store view is not in the associated website
.
- L’application enregistre désormais les informations saisies par un client dans les champs de facturation et d’expédition par défaut lors du passage en caisse lorsque la transaction est initialement refusée en raison d’une carte de crédit non valide, mais qu’elle est ensuite terminée avec succès. Auparavant, bien que l’application ait créé la commande lorsque le client a saisi des informations de paiement valides, elle n’a pas mis à jour les adresses de facturation ou d’expédition par défaut dans la section Mon compte du workflow de passage en caisse.
- L’application respecte désormais les paramètres de groupe client lorsque vous créez un nouveau client à partir de l’administration dans un déploiement multisite.
- L’application importe désormais correctement les données client à l’aide de l’option Client et adresses (fichier unique) lorsque
cron
est activé et que l’indexeur de grille client est défini sur Mettre à jour selon le calendrier. Après l’exécution decron
, les informations client importées sont disponibles dans l’Administration comme prévu. Auparavant, l’application importait les données client, mais ne mettait pas à jour la grille client avec les enregistrements client nouvellement importés.
- Vous pouvez désormais créer un nouveau client à partir du storefront lorsque la date de naissance est requise. Auparavant, vous ne pouviez pas créer de client lorsque ce champ était obligatoire, même lorsque vous entriez des valeurs DOB valides. GitHub-26700
- La création du client à partir de l’administration respecte désormais le paramètre de groupe de clients par défaut comme prévu.
- Le
PHPSessionId
est maintenant modifié comme prévu après la déconnexion puis la reconnexion d’un client.
- La vue Administrateur d’un panier client affiche désormais tous les produits qui ont été ajoutés au panier à partir de plusieurs sites web dans un déploiement multisite. Auparavant, lorsqu’un client ajoutait un produit à son panier à partir d’un site web autre que celui par défaut, le produit n’était pas affiché dans l’interface d’administration même lorsque Partager le compte client était défini sur Global.
- La validation fonctionne désormais comme prévu pour le champ Date de naissance lors de l’édition d’un client à partir de l’administration. Auparavant, l’application ne tenait pas compte des paramètres régionaux de l’utilisateur et pour certaines dates de naissance, elle affichait l’erreur suivante :
The Date of Birth should not be greater than today
. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27149. GitHub-27027
- Le champ e-mail n’est plus nécessaire lors de la commande auprès de l’administrateur. Correctif envoyé par solwininfotech dans la demande de tirage 24479. GitHub-22251
- L’application affiche désormais uniquement les produits que le client a placés dans son panier lorsque le panier est affiché par l’administrateur. Auparavant, le panier d’un client affichait tous les produits du catalogue lorsqu’ils étaient consultés par l’administrateur. Correctif soumis par Ravinder dans la demande de tirage 26489. GitHub-26437
- Le tableau de bord Mon compte affiche désormais correctement les valeurs d’adresse e-mail dans la vue mobile. Correctif soumis par Eden Duong dans la demande de tirage 25942. GitHub-25935
- Plusieurs fois, le fait de cliquer sur le bouton Créer un compte dans le formulaire d’enregistrement du client ne permet plus d’envoyer la demande d’enregistrement plusieurs fois. Correctif soumis par princeCB dans la demande de tirage 26642. GitHub-26590
Répertoire
- Le menu déroulant État par défaut est désormais renseigné par des données basées sur les pays autorisés qui ont été affectés au site web sélectionné lorsque vous configurez une valeur pour le champ Calcul de la destination de taxe par défaut. Auparavant, cette liste déroulante répertoriait les pays affectés au site web par défaut.
Téléchargeable
- Vous pouvez désormais utiliser un fichier d’importation pour mettre à jour les produits téléchargeables en bloc par SKU et description. Auparavant, des erreurs de validation se produisaient et l’importation échouait.
VAE
- L’application respecte désormais les paramètres spécifiques au magasin qui déterminent si le champ du numéro de téléphone du workflow de passage en caisse est requis dans un déploiement multisite. Auparavant, dans les déploiements où un magasin exigeait ce champ dans le workflow de passage en caisse et où un autre magasin ne l’exigeait pas, les clients qui ne remplissaient pas ce champ lors de la passage en caisse sur le magasin qui ne le demandait pas rencontraient cette erreur :
Please check the shipping address information. "telephone" is required. Enter and try again
.
- L’ordre de tri des VAE par
attribute option_id
fonctionne désormais comme prévu. Correctif soumis par Tan Sezer dans la demande de tirage 24360. GitHub-24357
- Vous pouvez désormais créer un produit après avoir ajouté un nouvel attribut via REST et l’avoir affecté à un jeu d’attributs à partir de l’administrateur. Auparavant, l’application générait une erreur 500. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27191. GitHub-26827
- Les e-mails d’autorisation envoyés à un client lorsqu’il demande un retour contiennent désormais le statut RMA attendu. Auparavant, cet e-mail affichait une chaîne vide au lieu du statut de retour attendu.
- Les clients ne sont plus redirigés vers le site web actuel lorsqu’ils signalent un mot de passe oublié dans des déploiements multisites où les comptes clients sont partagés dans le monde entier. Auparavant, les clients étaient redirigés vers le site web sur lequel le compte avait été créé.
- Les e-mails de confirmation de commande envoyés aux clients incluent désormais la liste des articles commandés comme prévu. Auparavant, lorsque vous créiez un modèle d’e-mail dans l’Administration en chargeant et en enregistrant le modèle par défaut, les e-mails générés à partir de ce modèle n’incluaient pas la liste d’éléments triés. GitHub-26882
Frameworks
- Les dépendances de Zend Framework ont été migrées vers le projet Laminas pour refléter la transition de Zend Framework vers le projet Laminas de la Fondation Linux. La structure d'envoi a été abandonnée. Correctif soumis par Ihor Sviziev dans la demande de tirage 26436. GitHub-26335
- Les paramètres de gamme de prix spéciaux (dates de début et de fin) fonctionnent désormais correctement pour les comptes d’administration utilisant un paramètre régional néerlandais.
-
php bin/magento cron:run
ne traite plus plusieurs fois les éléments de la table des journaux des modifications. Auparavant, lorsque le tableau des journaux des modifications comportait plus de 100000 nouvelles versions, les actions pouvaient être appelées plusieurs fois pour la mêmeentity id
. -
php bin/magento setup:cron:run
commande a été supprimée. Les références à ce paramètre dans les onglets cron doivent être supprimées lors de la mise à niveau. -
Le fichier
update/cron.php
a été supprimé dans la version 2.4.0. Si ce fichier existe sur votre installation, vous pouvez le supprimer en toute sécurité. Supprimez également les références à ce fichier dans les onglets cron lors de la mise à niveau.
- L’action Mettre à jour l’attribut met désormais correctement à jour l’horodatage du
updated_at column
d’un produit à partir decatalog_product_entity
lorsque vous mettez à jour le produit à partir de la page Modifier le produit par l’administrateur.
- La définition de
'persistent' => '1'
dansenv.php
ne renvoie plus d’erreur lorsque vous exécutezsetup:upgrade
.
- La Clé De Formulaire Non Valide. Veuillez actualiser la page la chaîne de texte de la page de connexion est maintenant traduite comme prévu.
- Nous avons amélioré les performances de la fonction
Magento\Framework\App\DeploymentConfig\Reader::load
. Auparavant, lorsqu’une requête était envoyée à Magento, cette fonction était appelée de manière répétitive, ce qui entraînait le chargement de fichiersconfig.php
etenv.php config
chaque fois que la méthode était appelée.
- L’application ne télécharge plus une page
blank.html
lorsqu’un administrateur clique sur un produit lors de la création d’une commande auprès de l’administrateur.
- Les blocs non pouvant être mis en cache ajoutés à la disposition par défaut dans les instructions de référence pour les composants inexistants (non déclarés) sur la page n’affectent plus la mise en cache de la page. L’ajout de blocs ne pouvant pas être mis en cache aux gestionnaires de disposition par défaut rend toutes les pages non mises en cache. Cela résulte du processus de génération de la mise en page : au cours de cette opération, l’application collecte tous les descripteurs de mise en page disponibles pour une page particulière et les fusionne avec les instructions dans la structure de mise en page finale de la page. La poignée de mise en page par défaut est utilisée comme poignée de base pour chaque page. Par conséquent, les mises à jour de disposition déclarées pour le gestionnaire par défaut apparaissent sur chaque page. GitHub-9041
- Le gestionnaire de verrous MySQL est désormais le principal gestionnaire de verrous. Par conséquent, la version minimale requise de MySQL est la version 5.7.9.
queue_consumer.xml
autorise désormais les nombres de la classehandler
. Auparavant, lorsqu’un gestionnaire contenait un nombre dans son chemin, la validation du schéma XSD échouait. Correctif soumis par Eden Duong dans la demande de tirage 25952. GitHub-25731
- Une référence de
@var
incorrecte dans le blocdoc
de la variable membre de classe$queueIterator
dans la classe\Magento\Framework\MessageQueue\Topology\Config
a été corrigée. Correctif soumis par Artem Voloznov dans la demande de tirage 24976. GitHub-24971
- Les écouteurs de chargement de page de JavaScript sont désormais déclenchés pour se déclencher lorsqu’un document n’est plus
loading
, au lieu d’attendre qu’il soit marqué commecomplete
d’attendre qu’il soit marqué commecomplete
peut entraîner des retards importants dans le rendu du contenu de JavaScript. Correctif soumis par John Hughes dans la demande d’extraction 23313 et la demande d’extraction 50. GitHub-22909
- L'application affiche maintenant le message d'information suivant lorsque vous essayez d'ajouter un produit à votre liste de souhaits avec une quantité de 0 ou un nombre négatif :
Please enter a valid number in this field
. Auparavant, l’application affichait cette erreur :We can't update your Wish List right now
. Correctif soumis par Pawe Tylek dans la demande de tirage 25641. GitHub-25032
- L’application ne prend plus en charge l’héritage des classes DTO de la classe
Magento\Framework\Api\AbstractExtensibleObject
.@api
d’annotation PHP manquant a été ajouté àAbstractExtensibleModel
et le@deprecated
manquant L’annotation a été ajoutée àAbstractExtensibleObject
. Correctif soumis par Alexander Taranovsky dans la demande de tirage 22011. GitHub-22010
- Vous pouvez désormais enregistrer les produits comme prévu après avoir modifié la date associée à un produit (par exemple,
news_from_date
,news_to_date
,special_price_from_date
,special_price_to_date
) dans les magasins implémentant des paramètres régionaux non anglais. Auparavant, l’application générait une erreur similaire à celle-ci :Invalid input datetime format of value '22/5/2019
.
Correctifs généraux
- Le module Client n’a plus de dépendance sur le module Révision . Auparavant, vous ne pouviez pas désactiver le module Révision en raison de cette dépendance.
- La page de modification du produit se charge désormais correctement lorsque l’attribut par défaut défini pour la page contient un attribut de liste déroulante avec le libellé de sélection.
- Le graphique des commandes accessible à partir de l’onglet Commandes dans l’Administration reflète désormais précisément la quantité de commande.
- L’URL d’administration d’un magasin ne redirige plus vers l’URL du storefront lorsque ces deux URL diffèrent.
- La génération de la réécriture d’URL pour les sous-catégories fonctionne désormais correctement lors de l’utilisation du profil de performance toolkit avec plusieurs sites web.
- Vous pouvez désormais supprimer un modèle utilisateur vide sans supprimer le rôle Administrateurs auquel il est affecté.
- L’éditeur TinyMCE4 prend désormais en charge toutes les balises HTML.
- Cliquer sur le bouton Rembourser hors ligne dans le workflow de création d’un avoir génère désormais un avoir comme prévu. Auparavant, une erreur JavaScript désactivait ce bouton et l'application n'avait pas créé d'avoir.
- Les commerçants peuvent désormais créer un attribut de produit de type
Decimal
. Auparavant, en raison d’un correctif de bogue précédent, l’application n’affichait pas le type d’attribut de produitPrice
. GitHub-26949
- L’application ne renvoie plus d’erreur 500 lorsque vous essayez d’ouvrir une page de catégorie sur le storefront lorsque Mise en page = Produit - Pleine largeur a été défini à partir de l’onglet Conception de la page de catégorie.
- Correction d’un bug dans
AbstractSimpleObjectBuilder.php
.
- MAP (prix minimum annoncé) fonctionne désormais comme prévu pour les produits du groupe.
- L’application vous redirige désormais vers la page d’accueil de la vue de magasin appropriée lorsque vous modifiez la langue sur les pages CMS dans un déploiement multi-magasin. Auparavant, l’application affichait une page 404 lorsque vous changiez de langue sur certaines pages de CMS.
- Les requêtes de commande (
SalesOrderIndexGridAsyncInsertCron
) ont été restructurées afin de réduire la taille du jeu de données renvoyé et la fréquence des requêtes.
- Vous pouvez maintenant créer une page CMS et l’affecter à la catégorie racine du site web dans la hiérarchie de CMS.
- Les invités peuvent désormais afficher un prix de produit ou ajouter un produit au panier lorsque les autorisations de catégorie sont activées (par exemple, lorsque le groupe de clients Non connecté s’est vu accorder ces privilèges).
- Les règles de produit s’appliquent désormais aux produits en rupture de stock, comme prévu. Auparavant, l’application n’affichait pas les produits en rupture de stock dans la liste des produits associés, même lorsque la règle était configurée pour afficher les produits en rupture de stock.
- Lorsque vous cliquez sur le bouton Suivre l’expédition d’une commande auprès de l’administrateur, les informations de suivi s’affichent désormais dans une fenêtre pop-up comme prévu. Auparavant, ce lien redirigeait l’administrateur vers la page de connexion.
- L’application affiche désormais un message d’erreur informatif et continue d’afficher le formulaire d’enregistrement comme prévu si une erreur se produit lorsqu’un client ou une cliente tente de remplir un formulaire d’enregistrement contenant un attribut de client à sélection multiple. Auparavant, l’application affichait une erreur 500.
- L’application affiche désormais le bouton Avoir après le remboursement partiel d’une commande. Auparavant, l'application n'affichait pas ce bouton après la création d'un remboursement partiel, et vous ne pouviez pas créer d'avoir pour le reste de la commande.
- Les mises à jour de commande en masse via REST modifient désormais le statut de la commande comme prévu. Auparavant, l’application générait cette erreur :
report.ERROR: Property "AdditionalInformation" does not have accessor method "setAdditionalInformation" in class "Magento\Sales\Api\Data\OrderPaymentInterface".
- Les filtres d’attribut s’affichent désormais comme prévu dans le bloc Options d’achat de la page Catégorie .
- Les adresses de facturation et de livraison du client s’affichent désormais comme prévu sous l’onglet Adresses de la page Admin - Modifier le client lorsqu’elles s’affichent dans Internet Explorer. Correctif soumis par Vasilii Burlacu dans la demande de tirage 27383. GitHub-27370
- Toutes les vues de signet restent modifiables lorsque vous en supprimez une. Auparavant, toutes les vues de signet n’étaient plus modifiables après la suppression de la première vue pour les comptes comportant plusieurs vues de signet. Correctif soumis par Bartomiej Szubert dans la demande de tirage 26263. GitHub-14913
- La navigation en couches n’interrompt plus la validation HTML5 du module d’échantillon. Auparavant, des erreurs de validation HTML se produisaient pour les attributs qui n’étaient pas définis dans le service de validation de balisage W3C, mais ces attributs ont été changés en attributs de données. Correctif soumis par Nirav Patel dans la demande de tirage 26055. GitHub-22363
- Un alias de
require.JS
inutilisé (critical-css-loader
) has been removed from app/code/Magento/Theme/view/frontend/requirejs-config.js
. Correctif soumis par Tu Nguyen dans la demande de tirage 26987. GitHub-26963
- L'application implémente désormais l'interface jetable de PHP7.x pour permettre la capture de toutes les erreurs qui pourraient exposer des informations sensibles telles que les mots de passe. Correctif envoyé par miszyman dans la demande de tirage 25250. GitHub-23350
- Appuyez sur la touche Échap lors de la saisie du nom d’un nouveau dossier dans la fenêtre contextuelle Créer un dossier pour fermer la fenêtre contextuelle comme prévu sans créer le dossier. Correctif soumis par Shankar Konar dans la demande de tirage 25349. GitHub-572
- Correction d’une structure HTML imbriquée incorrectement. Auparavant, cette structure entraînait une mise en page rompue de la liste des produits associés, de vente incitative ou de vente croisée. Correctif soumis par Pieter Hoste dans la demande de tirage 27926. GitHub-27920
- Suppression de l’appel dupliqué à
addToolbarBlock
, qui avait entraîné deux conditions similaires dansORDER BY
. Correctif soumis par Vasilii Burlacu dans la demande de tirage 27263. GitHub-26708
- Les commerçants peuvent désormais définir une date d’expiration sur les comptes utilisateur d’administration. Correctif soumis par Laura Folco dans la demande de tirage 22837. GitHub-22833
- Nous avons ajouté l’annotation PHP
@api
àAbstractExtensibleModel
, l’annotation PHP@deprecated
àAbstractExtensibleObject
et@see
àAbstractExtensibleModel
. Correctif soumis par Alexander Taranovsky dans la demande de tirage 22011. GitHub-22010
GraphQL
- L’application renvoie désormais le
The cart isn't active
de message GraphQL au lieu deCurrent user does not have an active cart
dans certains cas, lorsqu’un panier devient inactif et qu’un nouvel ID de panier est créé. Correctif soumis par Vadim Malesh dans la demande de tirage 27187. GitHub-26117
- Suppression du code qui provoquait une erreur lors de l’utilisation de GraphQL pour ajouter des produits à un panier lorsqu’un produit précédemment ajouté était en rupture de stock. Correctif soumis par AleksLi dans la demande de tirage 27015. GitHub-26683
-
Correction d’un problème dans GraphQL en raison duquel l’application ne renvoyait pas toutes les informations requises lors de l’utilisation de fragments dans la requête de produits. Correctif soumis par Riccardo Tempesta dans la demande de tirage 26218. GitHub-26217
-
La
setShippingMethodsOnCart
de mutation GraphQL ne récupère plus les données incorrectes dans l’attributavailable_shipping_methods
. Correctif soumis par Vadim Malesh dans la demande de tirage 27004. GitHub-26742
Produits groupés
- Vous pouvez désormais ajouter au panier un produit simple appartenant à un groupe lorsqu’un autre produit simple appartenant à ce même groupe est en rupture de stock. Correctif soumis par Gihovani Filipp Pereira Dem̩trio dans la demande de tirage 24955. GitHub-22304
- L’application envoie désormais un e-mail aux clients concernant les produits de groupe remboursés comme prévu. Correctif soumis par Alexander Taranovsky dans la demande de tirage 26246. GitHub-26245
- Vous pouvez désormais ajouter au panier un produit enfant d’un produit regroupé lorsque l’un des autres produits enfants du produit regroupé est en rupture de stock. Auparavant, lorsqu’un produit enfant était en rupture de stock, vous ne pouviez pas ajouter d’autres produits enfants au panier.
Images
- Les images sont désormais enregistrées dans
pub/media/catalog/category
comme prévu lorsque vous enregistrez des images de catégorie. Auparavant, l’application enregistrait ces images danspub/media/catalog/tmp/category
.
- Les images de filigrane n’obscurcissent plus l’image de produit qu’elles superposent. Auparavant, lorsque l’image du filigrane était plus grande que l’image du produit auquel elle était appliquée, l’image du produit n’était pas visible.
- Vous pouvez désormais enregistrer une image dans une catégorie à partir de l’Administration. Auparavant, après avoir enregistré l’image, une partie de l’URL était manquante et vous ne pouviez pas rouvrir l’image.
- L’application affiche désormais
.png
images comme prévu après le chargement.
- L’utilisation de REST pour ajouter ou mettre à jour une image crée désormais une miniature d’image comme prévu. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27170. GitHub-26825
- Les attributs personnalisés des images générées par
Block\Product\ImageFactory
s’affichent désormais correctement. Auparavant, vous ne pouviez pas ajouter vos propres attributs personnalisés au balisage d’attribut en raison d’une séquence d’échappement incorrecte de la sortie HTML. Correctif soumis par alexander-aleman dans la demande de tirage 26959. GitHub-25219
- Les images ne sont plus floues lorsqu’un storefront est affiché à partir d’un iPhone. Correctif soumis par Dmitriy dans la demande de tirage 24743. GitHub-24735
- Les images du storefront sont maintenant réactives. Auparavant, la hauteur de l’image était déformée. Correctif soumis par Sean van Zuidam dans la demande de tirage 27041. GitHub-27040
- Le logo du magasin par défaut est désormais visible sur le storefront lorsque le thème
Magento_blank
est utilisé. Correctif soumis par Vasilii Burlacu dans la demande de tirage 27497. GitHub-27496
Importer/exporter
- L’application ne renvoie plus d’erreur lors de l’importation lorsque les données importées incluent une clé de vue de magasin
swatch_image
dont la valeur estno_selection
. Auparavant, l’application générait cette erreur :Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s): 1
. GitHub-25026
- L’application met désormais à jour les images comme prévu lorsque vous utilisez le paramètre
hide_from_product_page
lors de l’importation de produits dans des déploiements avec plusieurs vues de magasin.
- Les options personnalisables sont désormais importées comme prévu lorsque la
row_id
n’est pas égale à laentity_id
d’un produit. Auparavant, l’application n’importait pas d’options personnalisables lorsque larow_id
n’était pas égale à laentity_id
d’un produit, ce qui entraînait l’absence d’importation de certains produits.
- Les images associées aux produits configurables sont désormais correctement chargées pendant l’importation et disponibles pour affichage comme prévu à partir de la page de modification du produit.
- Les fichiers
.csv
exportés reflètent désormais les paramètres de filtre pour inclure les produits en stock ou en rupture de stock. Auparavant, l’application exportait tous les produits, quel que soit le paramètre de stock sélectionné.
- Vous pouvez désormais importer ou mettre à jour des clients à l’aide de l’option Client et adresses de fichier unique du workflow d’importation. Auparavant, lorsque vous sélectionniez cette option, l’application n’importait pas les données du client et affichait cette erreur :
Invalid data for insert
.
- L’indexeur de stocks est désormais déclenché comme prévu après l’importation et met à jour le statut du produit. Auparavant, l’indexeur de stocks n’indexait pas les données d’inventaire de produits modifiées.
- L’application importe désormais avec succès toutes les options personnalisées pour les produits enfants d’un produit configurable lorsque
store_view_code
est spécifié. Cela fonctionne, que vous choisissiez d’importer des produits configurables individuellement ou collectivement. Auparavant, l’application n’importait pas correctement toutes les options personnalisées lorsque le fichier d’importation contenait plusieurs éléments et qu’store_view_code
était spécifié.
- L’application fournit désormais un message lors de l’importation du produit qui identifie les produits du fichier
.csv
importé qui possèdent des clés dupliquées. Les commerçants peuvent utiliser ces informations pour résoudre les conflits. Auparavant, l’application affichait cette erreur :Notice: Undefined index: name in /var/www/html/ee233dev/app/code/Magento/CatalogImportExport/Model/Import/Product.php on line 2524
- L’application affiche désormais un message d’erreur plus informatif, et n’affiche pas de lien de téléchargement, lorsque vous essayez de supprimer un répertoire de la liste Système > Exporter. Auparavant, lorsque vous tentiez de supprimer un répertoire de cette liste, l’application affichait toujours un lien de téléchargement pour les fichiers qui ne pouvaient pas être téléchargés et affichait un message d’erreur sans information.
- Le fichier
.csv
utilisé pendant l’importation contient désormais les liens appropriés pour les produits téléchargeables et est désormais correctement formaté pour prendre en charge l’importation et la mise à jour de produits téléchargeables.
- L’application exporte désormais correctement un fichier
.csv
lorsque vous définissez le comportement d’importation pour Remplacer, sélectionnez un fichier.csv
précédemment exporté, puis cliquez sur Vérifier les données. Auparavant, l’application affichait cette erreur :Data validation failed. Please fix the following errors and upload the file again
etFollowing Error(s) has been occurred during importing process
.
- L’indexeur de stocks est désormais déclenché comme prévu après l’importation et met à jour le statut du produit. Auparavant, l’indexeur de stocks n’indexait pas les données d’inventaire de produits modifiées.
.csv
fichiers générés lors de l’importation du produit contiennent désormais des titres de groupe pour les produits téléchargeables comme prévu. Auparavant, une validation inutile desgroup_title
lors de l’importation empêchait l’affichage des titres de groupe pour les produits téléchargeables.
- Lorsque
cron
est activé et que vous effectuez un import de clients à l’aide de l’option (Client et adresses (fichier unique)), l’application renseigne les données dans la grille de clients d’administration comme prévu. La grille des clients affiche les clients une fois la réindexation manuelle terminée pourcustomer_grid indexer
. Auparavant, l’application ne mettait pas à jour la grille des clients avec les adresses des clients nouvellement importées.
- L’application affiche désormais la liste des clients comme prévu après la réindexation automatique. Auparavant, bien que l’exécution manuelle
bin/magento index:reindex
fonctionnait, la grille client n’affichait pas les informations client après la réindexation automatique.
- L’application supprime désormais les fichiers temporaires de
<Magento_home>/var
comme prévu une fois l’importation du produit terminée.
- L’application ne crée plus de SKU en double dans Admin lorsque des produits sont importés par
.csv
fichier .
- L’importation n’échoue plus lorsque la valeur de l’attribut configurable importé inclut un signe égal (=). Correctif envoyé par dhoang89 dans la demande de tirage 25194. GitHub-25188
- Toutes les données de grille exportées (données Magento Open Source et personnalisées) ont désormais des libellés d’option au lieu de valeurs d’option pour toutes les colonnes de type
Select
ouMultiselect
. Auparavant, lorsque vous exportiez ces données, la feuille de calcul exportée contenait des colonnes avec l’ID plutôt que les valeurs affichées dans la grille. Correctif soumis par Maksym Novik dans la demande de tirage 26523. GitHub-25963
- L’application affiche désormais les produits groupés sur le storefront comme prévu après la mise à jour d’un produit par l’importation d’un fichier
.csv
. Correctif soumis par Pavel Bystritsky dans la demande de tirage 25664. GitHub-25540
Index
- Nous avons amélioré les performances de
indexer_update_all_views
. L’indexation est désormais plus rapide, les règles inactives ne sont plus traitées et les caches sont effacés des entrées pour les produits modifiés uniquement.
- Les prix des produits sur le storefront reflètent désormais précisément l’application d’une mise à jour de règle de prix de catalogue planifiée. Auparavant, les prix ne reflétaient pas la règle de prix de panier planifiée jusqu’à ce que vous réindexiez manuellement (
php bin/magento indexer:reindex catalogrule_rule
).
- Vous pouvez désormais réindexer la base de données des produits après l’ajout d’un attribut ne pouvant pas faire l’objet de recherches (les attributs
is_searchable
,is_filterable
is_visible_in_advanced_search
sont désactivés).
- L’application affiche désormais un message qui identifie l’indexeur et le temps nécessaire à l’opération d’indexation lorsqu’une opération de réindexation échoue. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 26207. GitHub-26206
- Les produits enregistrés dans les magasins où l’indexeur de
onthefly
et les tables plates sont activés respectent désormais les affectations de site web. Auparavant, si vous supprimiez toutes les affectations de site web d’un produit, puis que vous l’enregistriez, toutes les tables plates incluaient le produit, malgré les affectations de site web spécifiées. Correctif soumis par Abel Truong dans la demande de tirage 27365. GitHub-16315
Infrastructure
- Le navigateur Internet Explorer 11.x n’est plus pris en charge.
- La logique de validation associée au champ Date de naissance du formulaire d’enregistrement du client ne déclenche plus d’erreur JavaScript.
- Ajout d’un test d’intégration pour couvrir les
$storeId
de la méthode deget()
Référentiel de catégories . Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 27048. GitHub-27044
- L’activation du paramètre Bloquer tous les cookies dans Safari ne génère plus d’erreurs JavaScript et l’application affiche le message
cookies disabled
comme prévu. Auparavant, l’application affichait plusieurs erreursSecurityError (DOM Exception 18): The operation is insecure
dans la console. Correctif soumis par Ra̼l Verdugo Lorenzo dans la demande de tirage 25324. GitHub-13865
- L’application ne renvoie plus cette erreur lors de l’exécution des tests d’intégration :
Error: Call to a member function findFile() on array (/var/www/html/lib/internal/Magento/Framework/Code/Generator/DefinedClasses.php:59)
. Auparavant, en raison d’un problème lié àAutoloaderRegistry::getAutoloader
, les tests d’intégration échouaient de manière aléatoire. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 26480. GitHub-26479
- La balise
date
dans/module-sales/view/frontend/templates/order/order_date.phtml
a été corrigée enspan
. Auparavant, l’application consignait une erreur dans le fichierexception.log
lorsque vous cliquiez sur Afficher la commande sur la page storefront Mon compte > Mes commandes. Correctif soumis par Andrii Chorniy dans la demande de tirage 25895. GitHub-13269, GitHub-25738
- Le module de mixin JavaScript a été refactorisé afin d’améliorer le chargement et l’application des mixins pour les modules groupés avancés. Auparavant, l’application ne chargeait pas et n’appliquait pas de mixins pour les modules groupés avancés. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 25587. GitHub-25586
- La commande
grunt clean
nettoie désormais les dossiers de code et de métadonnées générés comme prévu. Correctif soumis par Andrii Beziazychnyi dans la demande de tirage 25765. GitHub-25739
getVersion
résultat (ProductMetadata::getVersion
) est désormais mis en cache, ce qui améliore les performances de la méthodeProductMetadata::getVersion
. Correctif soumis par Lukasz Lewandowski dans la demande de tirage 26001. GitHub-24025
- Un setter manquant pour
additional_information
a été ajouté àOrderPaymentInterface
, ce qui résout une incohérence entre sa déclaration de schéma et les propriétés acceptées. Correctif soumis par Antonino Bonumore dans la demande de tirage 26748. GitHub-26745, GitHub-13222
Navigation superposée
- L’application effectue désormais le rendu de l’attribut Oui/Non sur la page Catégorie lorsque Utiliser en navigation superposée : filtrable (avec les résultats) pour les propriétés de storefront est activé.
- Le
\Magento\Sales\Model\Order\Email\Sender\ShipmentSender
redondant a été abandonné au profit de\Magento\Sales\Model\Order\Shipment\Sender\EmailSender
. Correctif soumis par Adarsh Manickam dans la demande de tirage 26714. GitHub-14885
Galerie de médias
- Cliquez sur Entrée après avoir nommé un nouveau dossier dans la Galerie de médias pour enregistrer toutes les modifications que vous avez apportées. Auparavant, le fait de cliquer sur Entrée au lieu d’utiliser la souris pour sélectionner OK entraînait la perte de toutes les modifications. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27029. GitHub-26847
- Vous pouvez maintenant créer un sous-dossier sous la Galerie de médias qui porte le même nom que le dossier principal. Auparavant, vous ne pouviez pas enregistrer le sous-dossier portant le même nom. Correctif soumis par Vadim Malesh dans la demande de tirage 27976. GitHub-1270
Stockage multimédia
var/resource_config.json
n’est plus régénéré chaque fois qu’une image est demandée parget.php
. Auparavant, ce fichier était réécrit à chaque appel àget.php
.
Newsletter
- Les clients peuvent désormais s’abonner comme prévu aux newsletters. Auparavant, lorsqu’un client tentait de confirmer son abonnement, l’application affichait cette erreur :
This is an invalid subscription confirmation code
.
- Le champ d’entrée de newsletter du pied de page du storefront est désormais rendu de manière identique par tout navigateur pris en charge. Correctif soumis par divyajyothi5321 dans la demande de tirage 26182. GitHub-26176
- Les messages de storefront sur les abonnements aux newsletters sont désormais rendus comme prévu dans HTML. Correctif soumis par Oleh Usik dans la demande de tirage 26455. GitHub-25162
Commandes
- Les sous-totaux de synthèse de commande n'affichent plus les taxes exclues lorsque les paramètres d'affichage du site Web indiquent que les taxes doivent être exclues. Auparavant, lorsque plusieurs sites web étaient configurés avec des paramètres d’affichage différents, le paramètre défini dans la variable de serveur était utilisé pour le magasin malgré les configurations au niveau du magasin.
Modes de paiement
- L'intégration des méthodes de paiement tierces Authorize.Net, eWay, CyberSource, Braintree et Worldpay dans le code de base a été supprimée. Les commerçants doivent migrer vers les extensions officielles disponibles sur le Commerce Marketplace.
- La mise en œuvre de base de la protection contre la fraude par Signifyd n'est plus prise en charge. Les commerçants doivent migrer vers l’extension Protection contre la fraude et les refacturations Signifyd disponible sur Commerce Marketplace.
- Vous pouvez maintenant passer une commande avec succès et revenir à la page d'accueil du marchand lorsque Website Payments Pro Hosted Solution est configuré. Auparavant, lorsque vous cliquiez sur Retour au vendeur, l’application générait cette erreur :
Invalid Form Key. Please refresh the page
.
- Le changement d’adresse de facturation n’entraîne plus le rendu du texte de la fonction JavaScript dans la section de paiement du workflow de passage en caisse storefront. Correctif soumis par Chris Pook dans la demande de tirage 26378. GitHub-26375
- Les avoirs affichent maintenant le montant correct dans le champ Remboursement d'ajustement de la présentation des avoirs. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27343. GitHub-13851
- Vous pouvez désormais supprimer des informations supplémentaires du tableau
quote_payment column additional_information
après avoir enregistré un devis. Auparavant, vous ne pouviez pas supprimer ces informations après l'enregistrement du devis, car la méthodeunsAdditionalInformation
dans\Magento\Payment\Model\Info
n'initialisait pas correctement les données. Correctif soumis par Marco Oliveira dans la demande de tirage 26084. GitHub-26083
- Les instructions de paiement sont désormais dérivées de la vue de magasin à partir de laquelle une commande a été effectuée. Auparavant, les instructions de paiement étaient utilisées à partir de la vue de magasin par défaut, car la méthode
BeforeOrderPaymentSaveObserver
récupérait les instructions de paiement de la vue de magasin par défaut. Correctif soumis par Karyna Tsymbal dans la demande de tirage 26399. GitHub-26332
- L'application collecte désormais les informations de paiement qui s'affichent à la fois sur l'administrateur et dans les factures de facture et d'expédition du magasin dans lequel la commande a été effectuée lors de déploiements avec plusieurs magasins. Auparavant, l’application dérivait les informations de paiement du magasin par défaut. Correctif soumis par Bartomiej Szubert dans la demande de tirage 26765. GitHub-17933
PayPal
- L’application affiche désormais un message d’erreur informatif chaque fois qu’un client clique sur Payer avec PayPal après avoir saisi une adresse de livraison non valide dans le processus de paiement. Auparavant, l’application affichait un message d’erreur uniquement lorsque le client cliquait sur le bouton pour la première fois, et non pour les clics suivants.
- L'application ne modifie plus le statut d'une commande en
Processing
dans la section Vérification des paiements du workflow de passage en caisse lorsqu'un paiement avec PayPal échoue.
- Vous pouvez maintenant terminer une commande avec succès à l'aide du mode de paiement Lien de paye. Auparavant, le mode de paiement Lien de flux de paiements rejetait toujours le paiement car le statut de la commande restait
Pending
statut de paiement, même si le statut de la commande dans les journaux de mode de paiement étaitApproved
.
- Les commandes passées à l'aide de PayPal Payflow Pro sont désormais définies sur
Suspected Fraud
statut lorsque des filtres de fraude sont déclenchés.
- Vous pouvez désormais utiliser PayPal Express Checkout avec n'importe quelle carte de crédit prise en charge. Auparavant, lorsque vous cliquiez sur un bouton de carte de crédit lors de l'utilisation de PayPal Express Checkout pour terminer une commande, l'application se bloquait et vous ne pouviez saisir aucune information de carte de crédit.
- Les commandes passées dans PayPal Payflow Pro sont désormais définies sur le statut
Suspected Fraud
lorsque des filtres de fraude sont déclenchés. Auparavant, le statut des transactions de paiement sur PayPal n'était pas validé avant l'approbation du paiement côté application.
- Payflow Pro fonctionne désormais comme prévu lorsque les restrictions de site web sont activées.
- L'application traite désormais correctement les commandes passées avec PayPal Express Checkout où l'adresse d'expédition de la commande indique une région de pays que le client a saisie manuellement dans le champ de texte plutôt que sélectionnée dans le menu déroulant de la page d'expédition. Auparavant, l’application affichait cette erreur sur la page de révision des commandes :
Error 500: NOTICE: PHP message: PHP Fatal error: Uncaught Error: Call to a member function getId() on null in httpdocs/vendor/magento/module-paypal/Model/Api/Nvp.php:1527
. GitHub-26698
- La méthode de paiement PayPal Pro fonctionne désormais comme prévu dans le navigateur Chrome 80. Ce mode de paiement appelait précédemment un point d’entrée de rappel qui avait besoin d’accéder à la session du client ; accès que la nouvelle fonctionnalité de cookie SameSite de Chrome par défaut ne permet pas. GitHub-26840
- Vous pouvez désormais utiliser PayPal Express pour payer une commande lorsque le panier de paiement persistant a été activé et que le paramètre Effacer la persistance lors de la déconnexion est défini sur non. Auparavant, l’application vous redirigeait vers la page de connexion.
- Les paiements de Paypal Express et de Web Payments Pro passent désormais à l'état
Processing
comme prévu une fois le traitement commencé. Auparavant, les paiements Paypal Web Payments Pro restaient dans l'état de paiementPending
même lorsque les informations de paiement étaient dans l'état deProcessing
. Correction envoyée par azambon dans la demande de tirage 25876. GitHub-25659
Performances
- La logique d’invalidation de la section Données client a été améliorée. Cette version introduit une nouvelle façon d’invalider toutes les données des sections client qui évite un problème connu avec le stockage local lorsque les invalidations de
sections.xml
personnalisées sont actives. (Auparavant, le contenu privé (stockage local) n’était pas correctement renseigné lorsque vous aviez un etc/frontend/sections.xml personnalisé avec des invalidations d’action.) Voir Contenu privé.
- L’importation des comptes clients a été refactorisée afin d’améliorer la vitesse de l’importation.
- Les commerçants peuvent désormais utiliser le chargement différé pour charger des images. Correctif soumis par Timon de Groot dans la demande de tirage 27033. GitHub-27032
- Les graphiques des tableaux de bord ont été migrés vers la bibliothèque
chart.js
. Correctif soumis par Bartomiej Szubert dans la demande de tirage 26923. GitHub-186
- Les performances des opérations exécutées sur des catalogues volumineux contenant de nombreux attributs de produit (sur une échelle de 3 000 - options 23000) ont été améliorées par la refactorisation de la création des tableaux d’options d’attribut. Correctif soumis par Behnam Shayani dans la demande de tirage 25452. GitHub-20966
Tarification
- L’application enregistre et affiche désormais le prix correct pour les produits à plusieurs niveaux, même après avoir modifié plusieurs fois des produits. Auparavant, l’application n’enregistrait pas les dernières modifications apportées au prix du produit. Correctif soumis par Ravi Chandra dans la demande de tirage 26162. GitHub-25195
- Les pourcentages d'économie fixe et de remise sont désormais correctement appliqués au prix final d'une commande. Auparavant, l’application affichait un prix de niveau incorrect (fixe et remise) en pourcentage d’économie sur la page des détails du produit. Correctif soumis par Sathish Subramanian dans la demande de tirage 26584. GitHub-26583
- L’e-mail d’alerte de stock envoyé aux clients concernant le réapprovisionnement d’un produit configurable contient désormais le prix correct du produit. Auparavant, ce courrier électronique contenait un prix de produit de 0.
- Le désabonnement des alertes de stock de produits fonctionne désormais lorsque la session d’un utilisateur a expiré. Auparavant, lorsque vous cliquiez sur le lien Cliquez ici pour arrêter les alertes de ce produit, l’application affichait une erreur 404.
- Les actions de désabonnement pour les alertes de produits fonctionnent désormais comme prévu. Auparavant, lorsqu’un client cliquait sur le lien Cliquez ici pour arrêter les alertes pour ce produit, l’application affichait une erreur 404.
Vidéo du produit
- Vous pouvez désormais utiliser REST pour mettre à jour les vidéos YouTube (PUT
rest/V1/products/{SKU}
). Auparavant, l’application affichait une miniature de la vidéo, mais le lecteur vidéo ne se chargeait pas lorsque vous cliquiez sur le bouton Lecture. GitHub-23194
Rapports
- Les listes de produits commandent désormais les produits configurables par SKU, ce qui regroupe les produits configurables par variations. Auparavant, le rapport regroupait les produits par
product_id
. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 25858. GitHub-25856
- Le tableau Admin > Rapports > Statistiques d’actualisation affiche désormais le statut Mise à jour à = Null comme Jamais dans la colonne Updated au lieu de undefined. Correctif soumis par Eden Duong dans la demande de tirage 25932. GitHub-25931
- Le rapport Stock faible n’inclut plus les produits désactivés. Correctif soumis par Mohamed-Asar dans la demande de tirage 26862. GitHub-26838
- L’application affiche désormais une valeur précise pour le champ Débuts de l’année en cours dans Admin > Magasins > Configuration > Général > Reports. Correctif soumis par Priya-V-Panchal dans la demande de tirage 27088. GitHub-27086
Examens
- L’application désactive désormais le bouton Envoyer la révision une fois que l’utilisateur a cliqué dessus. Auparavant, l’application ne désactivait pas ce bouton après le premier clic et créait plusieurs révisions lorsque l’utilisateur cliquait plusieurs fois sur le bouton Envoyer la révision.
- La liste de filtres Admin > Rapports > Révisions > Par produits affiche désormais les résultats comme prévu. Auparavant, lorsque vous essayiez de filtrer cette liste, l’application n’affichait aucun résultat.
- L’élément de menu Révisions en attente est maintenant activé comme prévu sur Admin > Marketing > Contenu utilisateur > Révisions en attente. Correctif soumis par Ravinder dans la demande de tirage 26230. GitHub-26229
Ventes
- Les commandes terminées apparaissent désormais dans le système de paiement et dans Magento Open Source. Auparavant, les commandes apparaissaient dans le système de paiement, mais pas dans Magento Open Source. GitHub-25862
- L’application respecte désormais l’adresse de livraison par défaut d’un client. Auparavant, l’application ne respectait pas les adresses de facturation et d’expédition par défaut en fonction des paramètres et le paramètre Identique à l’adresse de facturation n’était pas activé automatiquement.
- L'application calcule désormais correctement les remboursements pour les commandes qui incluent des remises. Auparavant, l’application calculait incorrectement la taxe d’expédition et la remise d’expédition, et le total remboursé ne correspondait pas au total payé.
- L’application attribue désormais l’ID de groupe correct lorsqu’un nouveau client crée une commande dans des déploiements multisites. Auparavant, l’application appliquait les paramètres du groupe de clients par défaut.
- Les administrateurs disposant d’autorisations restreintes, notamment l’autorisation d’affichage des avoirs, des factures et des expéditions, peuvent désormais afficher les factures et les expéditions à partir de la page Commandes comme prévu. Auparavant, lorsqu’un administrateur restreint tentait de consulter une commande, l’application affichait cette erreur :
Something went wrong with processing the default view and we have restored the filter to its original state
.
- L’application n’affiche plus d’erreur lorsqu’un client ajoute une quantité d’un produit à son panier qui dépasse la moitié du stock de produits existant, mais ne dépasse pas le stock total. Auparavant, dans ces circonstances, l’application affichait cette erreur :
The requested qty is not available
. Github-24365
- Vous pouvez désormais ajouter un produit au panier à partir de l’administration lorsque la quantité de stock est de 1. Auparavant, l’application n’ajoutait pas le produit au panier et affichait le message suivant :
The requested qty is not available
. Correctif soumis par Serhii Petrychenko dans la demande de tirage 26650. GitHub-25675
- L’application affiche désormais un message d’erreur informatif lorsqu’un administrateur de magasin tente de réorganiser un produit dont l’option personnalisée a un nom qui dépasse le nombre maximal de caractères. Auparavant, dans ces conditions, l’application affichait la page Rapport et non un message. Correctif soumis par Mudit Shukla dans la demande de tirage 26348. GitHub-26345
- La disposition du formulaire de modification des informations de l’adresse de la commande client a été reconfigurée pour correspondre aux conventions de la bibliothèque de formulaires d’administration. Correctif soumis par Alexey Rakitin dans la demande de tirage 25699. GitHub-19805
- Les cases à cocher de la section Produits de la page Catalogue > Catégories fonctionnent désormais comme prévu. Correctif soumis par Denis Kopylov dans la demande de tirage 22990. GitHub-22988
- La méthode
getCustomer
renvoie désormais l’objet customer tel que défini dansphpdoc
bloc . Auparavant, cette méthode renvoyait desNULL
, etphpdoc
bloc ne soulignait pas que cette méthode pouvait renvoyer desNULL
. Correctif soumis par Fanis Strezos dans la demande de tirage 26423. GitHub-25268
- Les nouvelles commandes sont désormais désactivées comme prévu lorsqu’un commerçant désactive Admin > Store > Configuration > Sales > Reorder > Allow Order. Correctif soumis par Eden Duong dans la demande de tirage 26051. GitHub-25130
getPrice()
méthode renvoie désormais une valeur flottante ou nulle au lieu d’une chaîne lors de la définition d’un prix personnalisé pour une commande dans l’Administration. Correctif soumis par Andrii Chorniy dans la demande de tirage 26313. GitHub-25968
- La colonne Code et titre de l’état de Admin > Magasins > Paramètres > Statut de la commande affiche désormais l’état au lieu de l’état attendu. Correctif soumis par Oleh Usik dans la demande de tirage 26569. GitHub-17847
- Les factures PDF capturent désormais la date d’achat correcte lors de leur création dans un paramètre régional GB. Correctif soumis par Eden Duong dans la demande de tirage 26701. GitHub-26675
Règle de vente
quote_item.applied_rule_ids
est maintenant mis à jour comme prévu après la désactivation d’une règle de prix de panier. GitHub-24526
- L’application affiche désormais les arborescences de catégories comme prévu lorsque vous essayez de créer ou de modifier une règle de prix de panier. Auparavant, la sélection d’une catégorie dans la section Condition lors de la création ou de la modification d’une règle entraînait des erreurs JavaScript.
- L’application calcule désormais correctement les remises fixes au niveau du panier à l’aide des règles de prix de panier lorsqu’un produit configurable est ajouté pour la première fois au panier. Correctif soumis par Lachlan Turner dans la demande de tirage 26623. GitHub-26622
Rechercher search-heading
- Elasticsearch 7.6.x est désormais le moteur de recherche catalogue par défaut pour Adobe Commerce et Magento Open Source. Vous ne pouvez pas installer ni mettre à niveau vers la version 2.4.0 sans installer également Elasticsearch 7.6.x. Le code de la version 2.x d’Elasticsearch a été supprimé. Les versions 5.x et 6.x d’Elasticsearch sont obsolètes et ne sont plus prises en charge. Voir Conditions préalables relatives aux moteurs de recherche.
- L’application effectue désormais correctement le rendu des symboles < et > dans les chaînes de recherche du catalogue de storefront.
- Les produits s’affichent désormais comme prévu dans les catégories après l’exécution de
cron:run
dans les déploiements mettant en œuvre Elasticsearch.
- L’application n’a plus besoin d’une réindexation complète de la recherche pour pouvoir rechercher un nouvel attribut de produit sur le storefront.
- Elasticsearch fonctionne désormais comme prévu lorsque vous triez une liste de produits qui contient des produits groupés par noms de produits alphabétiques.
- Les options de filtrage des résultats n’incluent plus les options en rupture de stock lorsque vous filtrez les produits configurables dans une catégorie.
- Lorsque vous sélectionnez tous les produits dans la page de liste de produits à l’aide d’Elasticsearch, tous les produits des résultats de recherche s’affichent désormais comme prévu. Auparavant, l’application n’affichait aucun résultat de recherche.
- Elasticsearch affiche désormais correctement les résultats des pages de catégories lorsque vous modifiez le nombre de résultats de recherche affichés par page. Auparavant, lorsque vous modifiiez le nombre de résultats de recherche à afficher sur la page des résultats de recherche, l’application affichait une page vierge et cette erreur :
"0":"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'
- Le tri des prix fonctionne désormais correctement pour les produits configurables en rupture de stock.
- L’application ne renvoie plus d’exception lorsqu’un client utilise la recherche rapide storefront dans des déploiements de sites web multiples.
- L’application n’affiche plus d’avertissement lorsqu’un commerçant ouvre la page des termes de recherche en cliquant sur l’option Termes de recherche dans le pied de page de Marketing > SEO et recherche > Termes de recherche. Correctif envoyé par vishal-webkul dans la demande de tirage 25246. GitHub-25245
- L’application ne redimensionne plus la fenêtre d’affichage lorsque vous cliquez sur la zone de saisie de recherche lors de l’exécution de Safari en mode mobile. Correctif soumis par Pawe Tylek dans la demande de tirage 27603. GitHub-27506
- Les versions d’Elasticsearch sont désormais identifiées par la notation X.x au lieu de la notation X.0+ dans Admin (Stores > Settings > Configuration > Catalog > Catalog > Catalog Search). Correctif soumis par Andreas Mautz dans la demande de tirage 25838. GitHub-25674
Expédition
- Vous pouvez désormais expédier une commande à plusieurs adresses si l'un des produits commandés est un produit virtuel. Auparavant, l’application passait avec succès la commande des produits physiques, mais la commande du produit virtuel était vide.
- L’application applique désormais correctement des remises forfaitaires sur l’ensemble du panier pour les commandes envoyées à plusieurs adresses. Auparavant, ce type de remise était appliqué plusieurs fois lorsqu’un client extrayait une commande à l’aide de l’option Extraire avec plusieurs adresses. GitHub-25834
- La liste déroulante disponible pour sélectionner des modes d’expédition au cours du processus de création d’une règle de prix de panier ne contient désormais que des valeurs valides. Auparavant, cette liste déroulante contenait des valeurs vides ou supplémentaires.
- L’application imprime désormais les étiquettes d’expédition sous la forme d’un fichier
.pdf
comme prévu lorsque vous sélectionnez Imprimer l’étiquette d’expédition dans la liste déroulante Action d’une commande de la liste d’archives des commandes. Auparavant, l’application affichait une erreur 404.
- Les règles de prix d'expédition gratuite affectent désormais uniquement les produits concernés lorsqu'un panier contient des produits provenant de catégories incluses par la règle de prix d'expédition gratuite ainsi que des produits provenant de catégories non incluses dans la règle. Auparavant, lorsqu’un panier incluait des produits des deux catégories de livraison gratuite ainsi que d’autres catégories non incluses dans la règle de prix, la livraison gratuite n’était appliquée à aucun produit.
-
L’application n’affiche plus de page vierge au lieu d’afficher tous les transporteurs dans la zone de liste déroulante/sélection multiple. Auparavant, une erreur dans la fonction
toOptionArray
dansvendor/magento/module-shipping/Model/Config/Source/Allmethods.php
s’était produite. Correctif soumis par Marc Rodriguez dans la demande de tirage 25315. GitHub-13136 -
L'application n'applique plus de remise à montant fixe plusieurs fois lorsqu'un client crée une commande qui sera envoyée à plusieurs adresses. Correctif soumis par Mahesh Singh dans la demande de tirage 26419. GitHub-25834
- Les plug-ins pour les
Magento\Ups\Model\Carrier
qui implémentent desdi.xml
personnalisées fonctionnent désormais correctement en mode développeur. Auparavant, l’application générait cette erreur :1 exception(s): Exception #0 (BadMethodCallException): Missing required argument $data of Magento\Ups\Model\Carrier
. Correctif soumis par Bartomiej Szubert dans la demande de tirage 26130. GitHub-25390
Plan du site
- L’application utilise désormais l’URL de base du projet comme prévu lorsque vous générez un plan de site.
- Les plans de site générés incluent désormais l’URL de la page d’accueil. Correctif envoyé par depaksnair dans la demande de tirage 26445. GitHub-25761
Stocker
- Les sessions client persistent désormais comme prévu lorsqu’un client se connecte à un magasin, ajoute des produits au panier, puis passe à un nouveau magasin dans un déploiement multi-magasin. Auparavant, lorsque le client accédait au deuxième magasin, l’application se déconnectait du client et vidait le panier.
- L’application supprime désormais les enregistrements liés à une vue de magasin supprimée des tables
sale_sequence_meta
etsales_sequence_profile
comme prévu. Correctif soumis par Bartomiej Szubert dans la demande de tirage 22296. GitHub-14958
- Le sélecteur de magasins fonctionne désormais comme prévu lors du changement entre des magasins ayant des URL de base différentes. Auparavant, lorsqu’un client ou une cliente utilisait le sélecteur de magasin pour basculer entre les magasins, la requête échouait si le magasin cible avait une URL de base différente de celle du magasin actuel. Correctif soumis par Tobias Nilsson dans la demande de tirage 26548. GitHub-23755, GitHub-26384
Nuanciers
- Les commerçants peuvent désormais ajouter des attributs d’échantillon de couleur aux produits à l’aide de l’option Échantillon visuel dans Magasins > Attributs > Produit > Nouvel attribut. Auparavant, une erreur JavaScript était déclenchée lorsque vous tentiez d’ouvrir l’attribut d’échantillon nouvellement créé.
- Le prix minimum annoncé change désormais comme prévu lorsqu’un client sélectionne une nouvelle option d’échantillon pour un produit configurable. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 26241. GitHub-26240
- L’application ne duplique plus le prix minimum annoncé pour un produit configurable lorsque vous sélectionnez une nouvelle option d’échantillon. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 26317. GitHub-26314
- Correction de problèmes de comportement du menu déroulant dans la zone Gérer l’échantillon (valeurs de votre attribut) de la page Nouvel attribut de produit. Correctif soumis par Oleh Usik dans la demande de tirage 26090. GitHub-25910
TargetRule
- Le bloc de produits associés affiché pour un produit sur le storefront affiche désormais les produits qui répondent aux critères définis dans la règle de produits associés. Auparavant, l’application n’affichait aucun produit associé.
Taxe
- L’application met désormais à jour les tarifs d’expédition et les prix comme prévu lorsqu’un client change de pays de destination pour une commande lors du passage en caisse.
- La livraison gratuite est désormais appliquée comme prévu en fonction de la règle de prix de panier applicable. Auparavant, les règles de prix de panier ne prenaient pas en compte les taxes lors du calcul de la conformité d’une commande aux critères de livraison gratuite.
Test
- Les URL codées en dur dans les tests et les groupes d’actions ont été remplacées par des références de page. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 117 dans le référentiel privé partners-magento2ee. GitHub-26331
- Les tests couvrent désormais la tâche de journalisation des actions d’administration liées aux pages CMS. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 172 dans le référentiel privé partners-magento2ee. GitHub-171
- Les noms de tests fonctionnels non valides ont été révisés pour suivre les bonnes pratiques. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 27118 et la demande de tirage 151 dans le référentiel privé partners-magento2ee. GitHub-27117
- Magento Open Source
cron
est désormais utilisé pour la réindexation après la création des données de test et, le cas échéant,cache:flush config
remplacecache:flush
. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 26990. GitHub-26989
- Les tests d’acceptation respectent désormais les conventions de nommage des modules
Magento/Indexer
etMagento/Backup
. Correctif soumis par Shankar Konar dans la demande de tirage 27515. GitHub-27503
- Le test
AdminReorderWithCatalogPrice
a été restructuré et n’échoue plus pendant le processus de validation de l’instance de confiance. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 135 dans le référentiel privé partners-magento2ee. GitHub-26607
- Les tests
AdminAddingNewOptionsWithImagesAndPricesToConfigurableProduct
etStorefrontApplyPromoCodeDuringCheckout
ont été restructurés et n’échouent plus pendant le processus de validation de l’infrastructure convergée. Correctif soumis par Lukasz Bajsarowicz dans les 26614 de demande d’extraction26611 et de demande d’extraction. GitHub-26612, GitHub-26610
- Les tests
DeleteProduct and DeleteCustomer Action Groups
ont été restructurés et n’échouent plus pendant le processus de validation de l’instance de confiance. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 26407. GitHub-26396
- Les tests
AdminMoveAnchoredCategoryTest.xml
ont été restructurés et n’échouent plus pendant le processus de validation de l’instance de confiance. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 26395. GitHub-26396
Tests d’intégration
- Les requêtes consécutives dans les tests d’intégration n’échouent plus. Auparavant, les tests échouaient, car les objets de requête étaient partagés entre les Dispatches. La méthode
resetRequest
vide désormais l’état derequest
. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 27300. GitHub-27299
- Des tests d’intégration supplémentaires ont été ajoutés pour couvrir les fonctionnalités d’e-mail
Magento_Customer
. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 27606. GitHub-27607
Tests unitaires PHP
- Les tests unitaires PHP ne renvoient plus cette erreur fatale :
Fatal error: Class Mock_CartExtensionInterface_0ba80a0b contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Magento\Quote\Api\Data\CartExtensionInterface::getAmazonOrderReferenceId, Magento\Quote\Api\Data\CartExtensionInterface::setAmazonOrderReferenceId) in /var/www/html/vendor/phpunit/phpunit-mock-objects/src/Generator.php(264) : eval()'d code on line 1
. Correctif soumis par Lukasz Bajsarowicz dans les demandes d'extraction 178 dans les référentiels privés partners-magento2ee et 27701. GitHub-27638
- Les tests de
Offline_Payments
sont désormais compatibles avec PHPUnit 8. Correctif soumis par Cristiano Pacheco dans la demande de tirage 27627. GitHub-27500
- Les tests unitaires pour
Framework
,AdminAnalytics
,AdminNotification
etAMPQ
ont été mis à jour pour PHPUnit 8. Correctif soumis par Ihor Sviziev dans les demandes d’extraction 27522, 27521, 27519, 27522. GitHub-27500
- Vous pouvez désormais exécuter le test unitaire
\Magento\Downloadable\Test\Unit\Helper\DownloadTest
sans être connecté à Internet. Correctif soumis par aleromano89 dans la demande de tirage 26264. GitHub-23521
- Ajout d’un test unitaire pour
app/code/Magento/Fedex/Model/Source/Generic.php
. Correctif soumis par Sathish Subramanian dans la demande de tirage 26549.
<magentoCron>
a été ajouté à plusieurs tests, ce qui déclenche une réindexation partielle. Cette modification résout les problèmes qui créaient des faux négatifs dans les tests fonctionnels qui couvraient lesMagento_Bundle
,CatalogImportExport
,CatalogInventory
,CatalogRule
,Backend
,Braintree
etCaptcha
. Correctif soumis par Lukasz Bajsarowicz dans les demandes d'extraction 27322, 27323, 27321. GitHub-27320
- Toutes les utilisations incorrectes de
<amOnPage>
ont été remplacées par un<actionGroup>
approprié pour la déconnexion de l’administrateur, le cas échéant, dans les tests. Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 116 dans le référentiel privé partners-magento2ee. GitHub-26331
-
Chaque groupe d'action d'un test a été déplacé vers un fichier distinct afin de suivre les bonnes pratiques MFTF, et les noms de fichiers incohérents ont été révisés. Les tests des modules suivants ont été affectés :
- module-catalog-permissions
- module-shared-catalog
- module-catalog-event
- module-banner
- module-admin-gws
- module-advanced-checkout
- module-shipping
- module-ui
- module-shipping
- module-checkout-address-search
- module-sales
- module-catalog
- module-catalog-rule-staging
- module-visual-merchandiser
- module-customer
Correctif soumis par Lukasz Bajsarowicz dans les demandes d’extraction 25800, 26323, 26321, 26320, 26319, 26322, 25828, 26329 (et les demandes d’extraction 104, 105, 106, 107, 108, 109, 111, 119, 120, 121 dans private repository partners-magento2ee) GitHub-22853
Thème
- Nous avons résolu un bug dans
JsFooterPlugin.php
qui affectait l’affichage des blocs dynamiques. Auparavant, l’application affichait cette erreur lorsque vous accédiez directement à/banner/ajax/load/url
:Uncaught TypeError: strpos() expects parameter 1 to be string, null given in
.
- La méthode
i18n
permet d’ajouter une chaîne aux modèles de soulignement. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 26435. GitHub-18012
- Le module
section-config
a été refactorisé. Cette refactorisation a réduit les erreurs qui étaient dues à des modules tiers qui effectuaient des requêtes POST ou demandaient des données client directement avant que le module ne soit initialisé pardata-mage-init
. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 25764. GitHub-17125
LoadCssAsync
erreurs de format HTML ont été corrigées. Correctif soumis par Sathish Subramanian dans la demande de tirage 26764. GitHub-26760
- Lorsque vous créez des fichiers
default.xml
etcatalog_product_view.xml
dans le cadre de la création d’un thème, l’application crée ces pages ou consigne les erreurs dans les fichiers journaux comme prévu. Auparavant, l’application consignait les erreurs dansvendor/magento/framework/View/Page/Config/Renderer.php
fichier . Correctif soumis par Vinh Le dans la demande de tirage 27026. GitHub-27009
Traduction et paramètres régionaux
- La traduction en ligne fonctionne désormais comme prévu sur le storefront lorsque Admin > Stores > Configuration > Avancé > Développeur > Translate Inline > Enabled pour Storefront est défini.
- La traduction en ligne fonctionne désormais comme prévu lorsqu’elle est activée pour un storefront.
- Les clés d’URL de produit sont désormais translittérées comme prévu. Correctif soumis par DanieliMi dans la demande de tirage 26506. GitHub-26499
- Les paramètres régionaux
es_US Spanish (United States)
sont désormais pris en charge. Correctif soumis par Vinh Le dans la demande de tirage 26857. GitHub-26843
- Le nombre d’espaces réservés numériques et le nombre d’espaces réservés de code JavaScript sont désormais identiques. Auparavant, le code JavaScript supposait 0 % tandis que le nombre d’espaces réservés numériques commençait par %1. Correctif soumis par korostii dans la demande de tirage 25359. GitHub-25243
- Vous pouvez désormais désactiver la traduction du titre de la page Détails du produit (
page.main.title
), qui est activée par défaut. Correctif soumis par Bartomiej Szubert dans la demande de tirage 26269. GitHub-7065
- Les problèmes de rendu de l’arabe et de l’hébreu dans les PDF de facture ont été résolus. Correctif soumis par Ihor Sviziev dans la demande de tirage 27887. GitHub-25769
- L’ordre d’héritage du module linguistique est désormais appliqué selon la première liste et la première utilisation comme prévu et comme décrit dans la documentation. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 26420. GitHub-8691
- L’application affiche désormais ce message d’erreur lorsque vous saisissez un caractère non latin pour un nom de dossier dans les paramètres régionaux où seules les lettres latines sont prises en charge :
Please rename the folder using only Latin letters, numbers, underscores and dashes
. Correctif soumis par Eden Duong dans la demande de tirage 25904. GitHub-25896
- La longueur de la colonne
locale
pourdirectory_country_region_name
a été augmentée de 8 à 16 pour prendre en charge les paramètres régionaux tels quezh_Hans_CN
. Correctif soumis par Bartomiej Szubert dans la demande de tirage 26268. GitHub-14001
Interface utilisateur
- Le bouton Précédent fonctionne désormais comme prévu depuis Admin > Stores > Order Status > Edit Order Status. Correctif soumis par Vadim Malesh dans la demande de tirage 27976. GitHub-1270
- Les images d’aperçu ne changent plus inopinément lorsque vous utilisez les touches fléchées pour déplacer le curseur dans le champ Nom de fichier de la liste Adobe Stock. Correctif soumis par Adarsh Manickam dans la demande de tirage 25991. GitHub-847
- Le champ Votre mot de passe de la section Vérification de l’identité de l’utilisateur actuel de la page Admin > Système > Intégrations hérite désormais des styles attendus. Correctif soumis par Eduard Chitoraga dans la demande de tirage 25918. GitHub-25917
- Les entrées validées par le programme de validation de JavaScript sur le storefront transmettent également la validation à l’administrateur. Auparavant, le programme de validation JavaScript comptabilisait les nouvelles lignes comme un seul caractère sur le storefront, mais côté serveur,
\Magento\Catalog\Model\Product\Option\Type\maxCharacters
comptait les nouvelles lignes comme deux caractères. Correctif soumis par Grzegorz Bogusz dans la demande de tirage 26033. GitHub-25974
- La balise
subTitle
n’est plus effacée lorsque vous modifiez un titre modal à l’aide de l’appelsetTitle()
. Auparavant, lorsque vous tentiez de créer une fenêtre contextuelle ou une boîte de dialogue modale personnalisée avec un titre et un sous-titre, puis de modifier le titre à l’aide de la méthodesetTitle()
, lesubTitle
était effacé. Correctif soumis par Andrea Parmeggiani dans la demande de tirage 26142. GitHub-26141
- Le sous-menu de l’onglet Admin Marketing s’ajuste désormais automatiquement à la longueur des éléments de menu comme prévu. Vous pouvez également faire défiler l’écran horizontalement. Correctif soumis par Paweł Tylek dans la demande de tirage 26034. GitHub-18687
- Le tableau
quote
la colonnecustomer_note
utilise désormais le typetext
comme prévu. Auparavant, il utilisait le typevarchar(255)
. Correctif soumis par Ravi Chandra dans la demande de tirage 26160. GitHub-26155
- Correction des problèmes d’affichage de l’en-tête du tableau dans le tableau Mon compte > Carnet d’adresses Entrées d’adresses. Correctif soumis par Abrar Pathan dans la demande de tirage 27336. GitHub-27335
- Le symbole de devise utilisé dans l’Étape de prix de navigation superposée repose désormais sur les paramètres par défaut comme prévu. Correctif soumis par Bartomiej Szubert dans la demande de tirage 24815. GitHub-21684
- Le symbole de la monnaie biélorusse (BYR) a été remplacé par BYN. Correctif soumis par Bartomiej Szubert dans la demande de tirage 25723. GitHub-24713
- La section Comparer des produits de la page Catalogue s’affiche désormais comme prévu dans la vue mobile sur les affichages dont la résolution est inférieure à 767 px. Correctif envoyé par Hitesh dans la demande de tirage 26418. GitHub-26416
- Le défilement des pages de produits fonctionne désormais comme prévu dans la vue mobile. Correctif soumis par Mateusz Krzeszowiak dans la demande de tirage 25385. GitHub-10518, GitHub-21717
- Vous pouvez désormais faire défiler les images miniatures de la galerie sur la page produit dans la vue mobile comme prévu. Correctif soumis par iGerchak dans la demande de tirage 25839. GitHub-21014
- Cliquez sur le titre du thème dans Admin > Contenu > Thèmes pour ne plus générer d’enregistrements en double. Correctif soumis par Eden Duong dans la demande de tirage 25926. GitHub-25925
- La disposition de la page Admin Billing Address (Adresse de facturation/Adresse d’expédition) a été remaniée pour respecter les conventions d’affichage des formulaires d’administration. Correctif soumis par Alexey Rakitin dans la demande de tirage 25699. GitHub-23481, GitHub-19805
- Le lien Ajouter pour comparer sur la page des détails du produit s’affiche désormais correctement en mode mobile sur les affichages avec une résolution inférieure à 640 px. Correctif soumis par Pawe Tylek dans la demande de tirage 26424 et Tejash Kumbhare dans la demande de tirage 26365. GitHub-26364
- Le libellé Trier par ne chevauche plus le bouton Acheter par de la page de catégorie en mode mobile. Correctif soumis par Andrii Kartavtsev dans la demande de tirage 26381. GitHub-25300
- Vous pouvez désormais mettre à jour la valeur de l’exemple et du titre du lien d’un produit téléchargeable en activant la case à cocher Utiliser la valeur par défaut. Correctif soumis par Abel Truong dans la demande de tirage 27295. GitHub-27169
- Correction de l’espacement entre le bouton Mise à jour et le champ Qté du mini panier. Correctif envoyé par Hitesh dans la demande de tirage 26234. GitHub-26227
- La couleur de bordure inférieure du tableau Entrées d'adresses supplémentaires de la page Carnet d'adresses correspond désormais à la couleur de bordure
thead
ettbody
. Correctif soumis par Tejash Kumbhare dans la demande de tirage 26649. GitHub-26648
- Les invites modales n’effectuent plus d’action de confirmation lorsqu’un utilisateur clique sur la superposition modale. Correctif soumis par Serhiy Zhovnir dans la demande de tirage 27399.
URL
- Le référentiel de catégories (méthode de sauvegarde) a été refactorisé, ce qui vous empêchait auparavant de créer des chemins d’accès uniques lors de la modification d’une clé d’URL de catégorie. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27304. GitHub-14080
- La validation de la logique de clé URL de catégorie a été améliorée. Correctif soumis par Sergiy Vasiutynskyi dans la demande de tirage 27412. GitHub-13689
Réécritures d’URL
- Les clients qui changent de langue sur une page CMS peuvent désormais accéder à la vue de magasin qu’ils ont sélectionnée. Auparavant, l’application affichait une erreur 404.
- La génération de réécriture d’URL pour les URL de produit pour lesquelles vous avez activé l’inclusion de chemin de catégorie fonctionne désormais comme prévu. Auparavant, dans les déploiements avec plusieurs vues de magasin, l’application générait parfois des réécritures d’URL incorrectes en utilisant la valeur par défaut du chemin d’URL de catégorie au lieu du chemin d’URL spécifique au magasin. Correctif soumis par Pieter Hoste dans la demande de tirage 26784. GitHub-25124, GitHub-11616
- Nous avons ajouté une vérification pour empêcher les redirections d’URL si le chemin de la requête est identique au chemin cible. Correctif soumis par Bartomiej Szubert dans la demande de tirage 26902. GitHub-20309
- Les opérations de réécriture d’URL ne suppriment plus une chaîne de requête d’une URL lorsque l’URL comporte une barre oblique. Correctif soumis par Alexey Arendarenko dans la demande de tirage 25603. GitHub-18717
TVA
- Correction de l'URL de validation de la TVA pour les numéros TVA UE. Correctif soumis par Shikha Mishra dans la demande de tirage 27886. GitHub-27874
Framework d’API web
- Correction de problèmes liés aux appels de
/rest/default/async/bulk/V1/orders
POST.
- Correction de problèmes liés aux appels de
/rest/default/async/bulk/V1/products
POST.
- La méthode
getList
a été refactorisée pour récupérer l’attribut d’extensionis_subscribed
. Auparavant, vous ne pouviez pas récupérer cet attribut lors de la récupération d’une entité client via l’API. Correctif envoyé par enriquei4 dans la demande de tirage 25311. GitHub-13252
- La mise à jour des informations du client par le biais du
/V1/customers/:id
ne réinitialise plus inutilement legroup_id
. Auparavant, lorsque vous mettiez à jour un client via REST, le groupe de clients était remplacé par 1 si le corps ne contenait pas de groupe de clients. Correctif soumis par MaxRomanov4669 dans la demande de tirage 25958. GitHub-14663
- Les getters nulles dans les contrats de service ne génèrent plus d'erreurs de réflexion lorsqu'ils sont utilisés dans l'API web. Les méthodes qui peuvent renvoyer la valeur null et un type valide fonctionnent désormais correctement, quel que soit l’ordre. Correctif soumis par Marco K̦pcke dans la demande de tirage 25806. GitHub-25656
- Vous pouvez désormais utiliser les
/V1/guest-carts/:cartId/items
POST pour ajouter des produits à un panier spécifique. Auparavant, lorsque vous utilisiez cet appel, l’application ignorait la valeur decartId
. Correctif soumis par Vadim Malesh dans la demande de tirage 27172. GitHub-14086
- Vous pouvez désormais utiliser le point d’entrée
PUT /V1/cmsPage/:id
pour enregistrer un titre de page CMS sans modifier les valeurs d’autres champs. Correctif soumis par Vadim Malesh dans la demande de tirage 27237. GitHub-24704
- La pagination des résultats des requêtes REST est désormais correcte. Auparavant, lorsque vous demandiez des résultats à partir d’une page spécifique (par exemple,
page_size
= 1 et une valeur decurrent_page
qui était hors de portée), l’appel renvoyait la dernière page de résultats plutôt qu’un message informatif . Correctif soumis par Lukasz Bajsarowicz dans la demande de tirage 26988. GitHub-26986, GitHub-8099
- Le résultat de GET
/V1/orders/items/{id}
inclut désormais un élément d’attribut d’extension qui inclut des données de message cadeau. Correctif soumis par Laura Folco dans la demande de tirage 25946. GitHub-19093
Liste de souhaits
- Une liste de souhaits fonctionne désormais comme prévu lorsqu’elle est activée au niveau du magasin-vue et désactivée au niveau global. Auparavant, lorsque ces paramètres étaient en place, l’ajout d’un produit à une liste de souhaits entraînait une erreur 404.
- Nous avons amélioré le message d’erreur qui s’affiche lorsqu’un client tente de partager sa liste de souhaits avec plus d’adresses e-mail que autorisé. Correctif soumis par divyajyothi5321 dans la demande de tirage 26066. GitHub-26064
- L’application affiche désormais la page Ma liste de souhaits comme prévu dans les affichages avec une résolution supérieure à 768 px et inférieure à 1 023 px. Correctif envoyé par Hitesh dans la demande de tirage 26546. GitHub-26543
- L’e-mail généré lorsque vous cliquez sur Partager la liste de souhaits affiche désormais les mêmes images de produit que la page Liste de souhaits. Correctif soumis par Michael Bottens dans la demande de tirage 27125. GitHub-27124
- Les clients peuvent désormais ajouter à une liste de souhaits à la fois un produit simple faisant partie d’un produit groupé et le même produit simple avec une quantité différente. Correctif soumis par MaxRomanov4669 dans la demande de tirage 26258. GitHub-11209
WYSIWYG
- Le téléchargeur d’images WYSIWYG utilise désormais
pub/media/wysiwyg
comme racine de stockage. Auparavant, le chargé utilisaitpub/media
comme racine de stockage, ce qui rendait ces images chargées inaccessibles après de récentes modifications du code du chargeur d’images. Correctif soumis par Pieter Hoste dans la demande de tirage 24878. GitHub-22609
- TinyMCE4 sur le navigateur Chrome gère désormais les caractères codés sur deux octets comme prévu. Auparavant, TinyMCE4 ne pouvait pas gérer correctement les caractères codés sur deux octets (comme ceux utilisés en chinois) sur Chrome. Correctif soumis par Hirokazu Nishi dans la demande de tirage 25454. GitHub-24637
Problèmes connus — Généralités
Problème : des anomalies dans les messages d’erreur de storefront se produisent dans les déploiements où PHP 7.4.2 est installé. Lorsque la version 2.4.0 est déployée avec PHP 7.4.2, les symboles d'espace dans les messages d'erreur storefront sont remplacés par les caractères plus (+). Ce bug est natif de PHP 7.4.2 et ne peut pas être corrigé par Magento Open Source. Solution : Nous vous recommandons d'utiliser d'autres versions de PHP 7.4.x. Consultez l’article de la base de connaissances Affichage des données brutes des messages sur storefront.
Problème : les commerçants ne peuvent pas ajouter de produits commandés à un package à partir de la page Créer un package d’administration et enregistrer le package. Consultez l’article Création d’étiquettes d’expéditionBase de connaissances . Le correctif MC-35514-2.4.0-CE-composer.patch pour ce problème est désormais disponible à partir de Versions.
Problème : l’application affiche ce message d’erreur lors de l’installation avec des extensions tierces qui dépendent des API pour le module Store
dans les commandes de l’interface de ligne de commande : The default website isn't defined. Set the website and try again
. Solution : supprimez les dépendances sur les extensions tierces du compositeur, installez Magento, puis installez les extensions tierces.
Problème : le bouton Ajouter des sélections à mon panier situé au bas du panier ne fonctionne pas. Solution : utilisez le bouton Ajouter des sélections à mon panier en haut de la page. Voir l’article de la base de connaissances Le bouton Ajouter des sélections à mon panier ne fonctionne pas.
Problème : les commerçants ne peuvent pas créer de nouvelle commande à partir de l’administrateur, car les Ajouter des produits par SKU et Ajouter des produits boutons sont absents de la page de création de commande lorsque le regroupement JavaScript est activé. Solution : désactivez le regroupement JavaScript pour votre déploiement.
Problème : l’application affiche une erreur 404 not found
lorsqu’un client tente de supprimer des points de récompense lors de la vérification d’une commande en cours d’expédition à plusieurs adresses.
Problème : la modification d’un produit configurable à partir de la liste de souhaits d’un client entraîne le comportement inattendu suivant : un champ inattendu apparaît sur la page Configurer le produit et cette page ne disparaît pas après que vous avez cliqué sur OK. L’application affiche également le message suivant : Please load Wish List item
. Solution : rechargez la page Configurer le produit.
Problème : les clients ne peuvent pas modifier le nombre de commandes affichées par page lorsque la liste Commandes s’étend sur plusieurs pages. Actuellement, l’application affiche ce message lorsque vous accédez à la dernière page de commandes et que vous essayez de modifier le nombre de commandes affichées par page : You have placed no orders
. Voir l’article Erreur d’affichage des commandes de la base de connaissances . Solution : la réouverture de la page Mes commandes entraîne l’affichage de la liste Commandes .
Problème : Le fait de cliquer directement sur le bouton Exporter les taux de taxe de la page Ajouter une nouvelle règle de taxe (Magasins > Règles de taxe) ne télécharge pas le fichier tax_rates.csv
comme prévu. Solution : cliquez sur le bord du bouton Exporter les taux de taxe. Voir l’article Les taux de taxe à l’exportation ne fonctionnent pas Base de connaissances .
Problème : les boutons Actualiser des sections Derniers articles commandés, Produits de la liste de comparaison et Produits récemment comparés de la page Admin Customer Activities ne fonctionnent pas comme prévu. Actuellement, l’application fait défiler la page chaque fois que l’utilisateur clique sur le bouton Actualiser et n’affiche pas le nom du produit. Voir l’article de la base de connaissances L’actualisation des activités du client ne fonctionne pas
Problèmes connus — VBE
Amazon Pay
-
Problème : les modes de paiement sont manquants dans le workflow de passage en caisse lorsqu’un client clique sur Retour à la caisse standard lors du passage en caisse avec Amazon Pay. Solution : actualisez la page de passage en caisse pour afficher les méthodes manquantes.
-
Problème : l'application affiche deux modes de règlement Amazon identiques dans la liste déroulante Mode de règlement disponible lors de la création d'une règle de prix de panier.
Braintree
-
Problème : l’application affiche une erreur lorsqu’un administrateur tente d’accéder à la page Rapport de règlement Braintree (Admin > Rapports ). Actuellement, l’application affiche le message suivant :
An error has happened during application run. See exception log for details
. Voir l’article de la base de connaissances sur l’échec du chargement du rapport de règlement de Braintree 🔗. Le correctif BUNDLE-2683_SettlementReport.patch pour ce problème est désormais disponible à partir de Versions. -
Problème : les commerçants ne peuvent pas créer de factures partielles pour les commandes dans les déploiements où Venmo est activé et le paramètre Activer le coffre pour les paiements par carte est désactivé. Actuellement, l'application affiche cette erreur :
The "vault_capture" command doesn't exist. Verify the command and try again
. -
Problème : l’application affiche deux modes PayPal identiques dans la liste déroulante Mode de paiement disponible lors de la création d’une règle de prix de panier.
-
Problème : l’application rencontre une erreur lors de l’ouverture du terminal virtuel Ventes > Braintree. Bien que le formulaire contienne des éléments d’IU corrompus, il accepte toujours les paiements. Solution : enregistrez les informations d’identification Braintree correctes, ce qui corrigera les champs d’entrée réduits. Voir l'article de la base de connaissances sur la page du terminal virtuel Braintree 🔗 Le correctif BUNDLE-2670_VirtualTerminal.patch pour ce problème est désormais disponible à partir de Versions.
-
Problème : l’application affiche un message d’erreur dans les pays suivants lorsqu’un client sélectionne un mode de paiement local lors du passage en caisse : Belgique, Pays-Bas, Italie, Espagne et Pologne. Solution : ignorez le message d’erreur et continuez le paiement.
Klarna
- Problème : si vous laissez le champ Thème de conception vide dans Messagerie sur site Klarna (Admin > Magasins > Configuration > Paramètres Klarna), une page vierge s’affiche. Solution : sélectionnez un thème de conception et enregistrez-le.
Vertex
- Problème : l’application affiche un bouton Vérification de l’adresse dans la section expédition du workflow de passage en caisse, même si la validation de l’adresse est désactivée. Le programme de validation d’adresse ne revérifie pas l’adresse mise à jour et continue d’afficher un message indiquant que l’adresse n’est pas valide lorsqu’un client ou une cliente saisit une adresse correcte après avoir d’abord saisi une adresse incorrecte, même si la validation d’adresse est activée. Solution : Désactivez la validation des adresses de sommet.
Contributions de la Communauté
Nous sommes reconnaissants envers l’ensemble de la communauté Magento Open Source et souhaitons saluer leurs contributions à cette version. Découvrez les méthodes suivantes pour en savoir plus sur les contributions de la communauté à nos versions actuelles :
-
Si un membre de la communauté a fourni un correctif pour cette version, nous l’identifions dans la section Problème résolu de ces notes avec l’expression « Correctif fourni par le membre de la communauté @member_name ».
-
L’équipe d’ingénierie de communauté Magento Contributors tient à jour une liste des principaux contributeurs individuels et partenaires par mois, trimestre et année. Depuis cette page Contributeurs, vous pouvez suivre les liens vers leurs relations publiques fusionnées sur GitHub.
Contributions des partenaires
Le tableau suivant présente les contributions des partenaires. Ce tableau répertorie le partenaire qui a contribué à la demande d’extraction, la demande d’extraction externe et le numéro de problème GitHub qui lui est associé (le cas échéant).
Contributions des contributeurs individuels
Le tableau suivant identifie les contributions des membres de notre communauté. Ce tableau répertorie les demandes d’extraction externes, le numéro de problème GitHub qui lui est associé (le cas échéant) et le membre de la communauté qui a contribué à la demande d’extraction.
Configuration requise
Notre pile technologique est construite sur PHP et MySQL. Pour plus d'informations, voir Configuration requise.
Instructions d’installation et de mise à niveau
Vous pouvez installer Magento Open Source 2.4.0 à l’aide du compositeur.
Kits d’outils de migration
L’outil de migration de données permet de transférer les données de stockage Magento 1.x vers Magento 2.x. Cette interface de ligne de commande comprend des fonctions de vérification, de suivi de la progression, de journalisation et de test. Pour obtenir des instructions d’installation, voir Installation de l’outil de migration des données. Envisagez d’explorer le référentiel de migration de données ou d’y contribuer.
Le kit de migration du code permet de transférer les extensions et personnalisations de magasin Magento 1.x existantes vers Magento 2.x. L’interface de ligne de commande comprend des scripts permettant de convertir des modules et des mises en page Magento 1.x.