Estoy codificando con Magento 2 en gvim y soy nuevo en Magento 2.
Hubo muchas veces que tuve problemas para depurar errores relacionados con xml, bueno, cada vez con solo suerte. Pero situaciones como esta me molestan mucho: no sabes dónde está el archivo que está causando este error, y el depurador tampoco lo dice.
Tome lo siguiente, obtengo esto: un archivo xml no es válido. De hecho, he creado un módulo que tiene module.xml, routes.xml, config.xml, {layout} .xml, di.xml debajo de él, etc. o view / layout dirs. ¿Qué línea de archivo 12/89 / .. no es válida? el generado / fusionado? Estoy perdido porque no encuentro nada en var / generado, y la línea de comandos deja de funcionar. ¿Cuál es la forma de depuración para encontrar cuál es este error?
Cualquier ayuda es apreciada.
Error grave: Magento no detectado \ Framework \ Exception \ LocalizedException: Elemento de documento no válido 'elemento': la definición del tipo es abstracta. Línea: 12 Elemento 'elemento', atributo 'nombre': El XPath '@name' de un campo de restricción de identidad clave 'itemName' se evalúa como un conjunto de nodos con más de un miembro. Línea: 89 Elemento 'elemento': no todos los campos de restricción de identidad clave 'elementoNombre' se evalúan en un nodo. Línea: 89 Elemento 'elemento', atributo 'nombre': El XPath '@name' de un campo de restricción de identidad clave 'itemName' se evalúa como un conjunto de nodos con más de un miembro. Línea: 90 Elemento 'elemento': no todos los campos de restricción de identidad clave 'elementoNombre' se evalúan en un nodo. Línea: 90 en /var/www/html/lib/internal/Magento/Framework/Config/Reader/Filesystem.php:
Respuestas:
La excepción lanzada te dice que estás usando un elemento
<item />
donde no puedes usar uno. Entonces, sí, su problema probablemente esté relacionado con XML.Lo primero que hago para asegurarme de escribir un XML válido es configurar mi IDE para que pueda asignar correctamente los esquemas XSD. En PhpStorm puedes hacer esto usando el elemento auxiliar que queda en el
xsi
espacio de nombres:Cuando todo esté configurado correctamente, su IDE configurará la finalización del código por usted y le advertirá si está haciendo algo que no está permitido:
Espero que esto te ayude un poco.
fuente
bin/magento dev:urn:generate .idea/misc.xml
para generar mapeo xsd para PHPStorm. Podrá resolver todas las rutas de urna desde xmls.