Für eine Weile hatte Magento 2 die Möglichkeit, XML mithilfe einer XSD-Datei zu validieren (und automatisch zu vervollständigen).
Zum Beispiel module.xml
sah das so aus:
<?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>
aber jetzt module.xml
sieht es so aus:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
....
</config>
so xsi:noNamespaceSchemaLocation
enthält das Attribut urn:magento:framework:
.
Ich weiß, dass dies nichts mit der serverseitigen Validierung der XMLs zu tun hat. Dieser funktioniert immer noch.
Aber was kann ich tun, um meine Validierung in meiner IDE (in meinem Fall PHPStorm, aber das ist nicht wichtig, es kann alles andere sein) wiederzuerlangen, um den Pfad zur xsd zu erkennen?
Sollte ich beim Erstellen meiner Module immer noch den alten relativen Pfad verwenden? Oder gibt es eine bessere Möglichkeit?
magento2
xml
validation
Marius
quelle
quelle
Antworten:
Magento 2 hat heute einen neuen Befehl eingeführt, um alle URN-Auflösungen für den PhpStorm automatisch zu generieren.
Um es zu benutzen:
bin/magento dev:urn-catalog:generate .idea/misc.xml
in dem.idea/misc.xml
sich der Pfad zu Ihrer PhpStorm misc.xml-Datei befindetAlle URNs sollten jetzt magisch aufgelöst sein!
Überprüfen Sie sie unter
PhpStorm->Preferences -> Languages&Frameworks -> Schemas and DTDs
PhpStorm 9.0 (Windows):
File -> Settings -> Languages&Frameworks -> Schemas and DTDs
quelle
Aus diesem Grund hat magento den XSD-URI geändert, um Urnen zu verwenden. Diese müssen in PHP Storm konfiguriert werden, damit die Schemaüberprüfung wieder funktioniert.
Quelle: http://alankent.me/2015/10/07/xml-schema-resolution-in-php-storm-with-urns-quick-note/
Der URN-Auflösungscode ist direkt in Magento integriert. Glücklicherweise ist es in PHP Strom ziemlich einfach, URNs mit echten Dateien auf Ihrer lokalen Site zu verknüpfen.
Dies sehen Sie, wenn Sie eine neue magento2-Version mit Urnen geladen haben. Beachten Sie, dass die URN rot ist, da PHP Storm nicht weiß, wie sie gelöst werden kann.
Setzen Sie den Cursor in den URN und klicken Sie auf die rote Glühbirne links, die angezeigt wird. Wählen Sie dann aus der Liste die Option „Externe Ressource manuell einrichten“.
Scrollen Sie durch die Liste der XSD-Dateien, die PHP Storm automatisch gefunden hat, und wählen Sie die entsprechende Datei aus. Die rote URN wird jetzt in Grün angezeigt, und die XML-Validierung ist wieder wirksam.
quelle
Die URN-Generierung wird vom Magento 2-Plugin für PHP Storm unterstützt und ist nur eine von vielen nützlichen Funktionen, die es Magento 2-Entwicklern bietet.
Wenn das Plugin in PHP Storm installiert ist, gehen Sie zu
Preferences / Other Settings / Magento2 plugin
und klicken Sie aufRegenerate URN map
.quelle
Eclipse IDE-Benutzer:
(Aktualisiert am 11. Juli 2019 für Magento 2.3.1)
Vorteile:
Nachteile:
Anleitung:
~/workspace
..metadata/.plugins/org.eclipse.wst.xml.core/user_catalog.xml
(falls nicht vorhanden, erstellen Sie es)Quelle:
Diese Liste wurde mit dem CLI-Befehl von Magento erstellt:
Dann konvertiert in das von Eclipse erwartete Format.
quelle