Durante un tiempo, Magento 2 tuvo una forma de validar (y autocompletar) cualquier xml mediante el uso de un archivo XSD.
Por ejemplo se module.xml
veía así:
<?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>
pero ahora se module.xml
ve así:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
....
</config>
entonces el xsi:noNamespaceSchemaLocation
atributo contiene urn:magento:framework:
.
Sé que esto no tiene nada que ver con la validación del lado del servidor de los xmls. Este todavía funciona.
Pero, ¿qué puedo hacer para recuperar mi validación en mi IDE (PHPStorm en mi caso, pero eso no es importante, puede ser cualquier otra cosa) para reconocer el camino hacia el xsd?
¿Debo seguir usando la ruta relativa anterior mientras construyo mis módulos? ¿O hay una mejor manera de hacerlo?
magento2
xml
validation
Marius
fuente
fuente
Respuestas:
Compruebe las actualizaciones de GitHub hoy, Magento 2 introdujo un nuevo comando para generar automáticamente todas las resoluciones URN para PhpStorm.
Para usarlo:
bin/magento dev:urn-catalog:generate .idea/misc.xml
donde.idea/misc.xml
está la ruta a su archivo PhpStorm misc.xml¡Todas las URN deben resolverse mágicamente ahora!
Míralos debajo
PhpStorm->Preferences -> Languages&Frameworks -> Schemas and DTDs
PhpStorm 9.0 (windows):
File -> Settings -> Languages&Frameworks -> Schemas and DTDs
fuente
Entonces, magento cambió el URI de XSD para usar Urnas: deben configurarse en PHP Storm para que la validación del esquema funcione nuevamente.
Fuente: http://alankent.me/2015/10/07/xml-schema-resolution-in-php-storm-with-urns-quick-note/
El código de resolución URN está integrado directamente en Magento. Afortunadamente, es bastante fácil asociar URN con archivos reales en su sitio local en PHP Strom.
Esto es lo que verá después de cargar una nueva versión de magento2 con urnas. Observe que la URN está en rojo porque PHP Storm no sabe cómo resolverlo.
Coloque el cursor en la URN, luego haga clic en la bombilla roja a la izquierda que aparecerá y seleccione "Configuración manual de recursos externos" de la lista.
Desplácese hacia abajo en la lista de archivos XSD que PHP Storm ha localizado automáticamente y seleccione el archivo apropiado. La URN roja ahora se mostrará en verde, y la validación XML vuelve a estar vigente.
fuente
La generación de URN es compatible con el complemento Magento 2 para PHP Storm, y es solo una de las muchas características útiles que proporciona a los desarrolladores de Magento 2.
Cuando se instala el complemento en PHP Storm, vaya
Preferences / Other Settings / Magento2 plugin
y haga clicRegenerate URN map
.fuente
Usuarios de Eclipse IDE:
(Actualizado el 11 de julio de 2019 para Magento 2.3.1)
Pros:
Contras:
Instrucciones:
~/workspace
..metadata/.plugins/org.eclipse.wst.xml.core/user_catalog.xml
(si no existe, créelo)Fuente:
Esta lista anterior se generó utilizando el comando CLI de Magento:
Luego se convierte al formato que Eclipse espera.
fuente