Pendant un certain temps, Magento 2 avait un moyen de valider (et de compléter automatiquement) n'importe quel xml en utilisant un fichier XSD.
Par exemple, cela module.xml
ressemblait à ceci:
<?xml version="1.0">
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
....
</config>
mais module.xml
ressemble maintenant à ceci:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
....
</config>
donc l' xsi:noNamespaceSchemaLocation
attribut contient urn:magento:framework:
.
Je sais que cela n'a rien à voir avec la validation côté serveur des xml. Celui-ci fonctionne toujours.
Mais que puis-je faire pour récupérer ma validation dans mon IDE (PHPStorm dans mon cas, mais ce n'est pas important, ça peut être autre chose) afin de reconnaître le chemin vers le xsd?
Dois-je toujours utiliser l'ancien chemin relatif lors de la construction de mes modules? Ou existe-t-il une meilleure façon de procéder?
magento2
xml
validation
Marius
la source
la source
Réponses:
Vérifiez les mises à jour du GitHub aujourd'hui, Magento 2 a introduit une nouvelle commande pour générer automatiquement toutes les résolutions URN pour PhpStorm.
Pour l'utiliser:
bin/magento dev:urn-catalog:generate .idea/misc.xml
où.idea/misc.xml
est le chemin vers votre fichier misc.xml PhpStormTous les URN devraient être résolus comme par magie maintenant!
Vérifiez-les sous
PhpStorm->Preferences -> Languages&Frameworks -> Schemas and DTDs
PhpStorm 9.0 (Windows):
File -> Settings -> Languages&Frameworks -> Schemas and DTDs
la source
Magento a donc changé l'URI XSD pour utiliser les urnes - celles-ci doivent être configurées dans PHP Storm pour que la validation du schéma fonctionne à nouveau.
Source: http://alankent.me/2015/10/07/xml-schema-resolution-in-php-storm-with-urns-quick-note/
Le code de résolution URN est directement intégré à Magento. Heureusement, il est assez facile d'associer des URN à de vrais fichiers dans votre site local en PHP Strom.
C'est ce que vous verrez après avoir chargé une nouvelle version de magento2 avec des urnes. Notez que l'URN est en rouge car PHP Storm ne sait pas comment le résoudre.
Placez le curseur dans l'URN puis cliquez sur l'ampoule rouge à gauche qui apparaîtra et sélectionnez «Configuration manuelle des ressources externes» dans la liste.
Faites défiler la liste des fichiers XSD que PHP Storm a automatiquement localisés et sélectionnez le fichier approprié. L'URN rouge sera maintenant affiché en vert et la validation XML est de retour.
la source
La génération URN est prise en charge par le plugin Magento 2 pour PHP Storm, et n'est qu'une des nombreuses fonctionnalités utiles qu'elle fournit aux développeurs de Magento 2.
Lorsque le plugin est installé dans PHP Storm, accédez à
Preferences / Other Settings / Magento2 plugin
et cliquez surRegenerate URN map
.la source
Utilisateurs Eclipse IDE:
(Mis à jour le 11 juillet 2019 pour Magento 2.3.1)
Avantages:
Les inconvénients:
Instructions:
~/workspace
..metadata/.plugins/org.eclipse.wst.xml.core/user_catalog.xml
(s'il n'existe pas, créez-le)La source:
Cette liste ci-dessus a été générée à l'aide de la commande CLI de Magento:
Puis converti au format qu'Eclipse attend.
la source