Tagnotifications

[Magento 2] Surcharger un UI Component pour augmenter le temps d’affichage des messages de notification alerte

Sources:

Core de Magento 2

Remarque: cette méthode de surcharge est valable pour l’ensemble des UI Components de Magento 2.

Créer le fichier app/code/Pdv/Ui/view/frontend/requirejs-config.js

Surcharger vendor/magento/module-ui/view/frontend/web/js/view/messages.js dans app/code/YourVendor/Ui/view/frontend/web/js/view/messages.js. La valeur qui nous intéresse est le 5000 dans la fonction onHiddenChange.

Surcharger vendor/magento/module-ui/view/frontend/web/js/model/messages.js dans app/code/YourVendor/Ui/view/frontend/web/js/view/messages.js et vendor/magento/module-ui/view/frontend/web/js/model/messageList.js dans . Aucune modification de code n’est à apporter à ces deux fichiers.

En bash, exécuter les commandes: $ rm -rf pub/static/*; rm -rf var/view_preprocessed/* && grunt less.

Dans le cas de notifications surchargées (comme dans le thème payant Supro par exemple)

Surcharger app/design/frontend/Mgs/supro/Magento_Theme/web/js/view/messages.js dans app/design/frontend/YourVendor/yourTheme/Magento_Theme/web/js/view/messages.js.

La méthode RemoveMessage prévoit initialement une animation bounceOutRight qui provoque un bug d’affichage de la notification (elle disparaît une première fois, puis réapparaît furtivement avant de disparaître pour de bon. J’ai donc remplacé la classe bounceOutRight par une classe nada qui ne se réfère à rien dans le code LESS/CSS.

La valeur qui nous intéresse est le 5000 dans la fonction onHiddenChange.

[Magento 2] js-translation.json Localisation de chaînes de caractères récalcitrantes (qui restent en anglais) dans les notifications messages d’alerte

Bug inhérent à Magento 2. Les chaînes non-traduites sont dasn des fichiers javaScript. Un fichier js-translation.json contenant les traductions nécessaires est généré en front au chargement de la page, mais il est incomplet!

The cause of issue is: Sometime file js-translation.json is loaded slower or later than other javascript file (I assume file a.js contain some texts need to translate) which contains some texts need to translate so at this time translated texts still not push to storage. Source: Magento 2 javascript translation sometime translate sometime not work – Why and how to fix?.

Voir ici:

Attention: les solutions 1 à 4 ont été testées alors qu’aucun language pack pour le core de Magento 2 n’avait été installé. Il se trouve que les clés de traduction n’étaient présentes qu’en anglais dans le projet. Le front ne pouvait de ce fait pas afficher de libellés en français. Il est impératif d’avoir installé un language pack au préalable, avant de procéder à des tests sur les problèmes de build du fichier js-translation.json.

Solution #1 (testée Magento 2.3.4, non fonctionnelle)

Dans la DB, virer les rangées de inline translation qui sont importées dans la table core_config_data:

Puis:

Solution #2 (non testée)

Il faut impérativement qu’on ait un environnement où les traductions fonctionnent pour mettre en place cette solution: Magento 2 – Translations : how does js-translation.json get populated? Mine is empty!

Solution #3 (testée Magento 2.3.4, non fonctionnelle)

Magento 2 Knockout Translation Bug

Solution #4 (non testée)

js-translation.json fails to generated

Solution #5 (testée non fonctionnelle Magento 2.3.3, 2.3.4)

Problème de traductions dans Magento 2: les traductions ne fonctionnent pas.

Packs de langues (traductions)

Installer mageplazza

Créer un token depuis Github

  • Vous logguer sur votre compte GitHub
  • Settings > Developer settings > Personal access tokens
  • Button « Generate new token »
  • Cocher la case read:packages
  • Copier-coller le token généré. Il vous sera demandé au composer require

Outils


ATTENTION: Magento 2 est très buggué au niveau des localisations traductions, notamment lorsque celles-ci reposent sur JavaScript. La solution ci-dessous permet de contourner le problème mais n’est pas propre. Dans le fichier app/design/frontend/MyVendor/myTheme/Magento_Theme/templates/messages.phtml, rajouter à la fin:

Axes d’amélioration: améliorer le code en le séparant en 2 plugins. Les mutation observers et le traducteur.

© 2021 devfrontend.info

Theme by Anders NorénUp ↑