Actualización de Magento 2.2.0, el tipo de atributo de error no está permitido

9

Pude actualizar una tienda Magento de 2.1.6 a 2.2.0. El backend funciona muy bien, pero me encuentro con una excepción en la oficina principal.

El mensaje de excepción dice: Elemento 'bloque', atributo 'tipo': el atributo 'tipo' no está permitido.

Toda la situación se describe en la próxima publicación de GitHub: https://github.com/magento/magento2/issues/11839

Soy nuevo en Magento. ¿Podría darme un enlace que describa desde dónde debo eliminar el atributo de tipo no válido u otros atributos o desde dónde puedo refactorizarlo?

Randhir Yadav
fuente
Parece que estás alterando la matriz de configuración. Comparta la excepción completa, preferiblemente con la parte del código aquí.
Ricardo Martins
Esta es una parte del código: 1 excepción (es): Excepción # 0 (Magento \ Framework \ Config \ Dom \ ValidationException): Elemento 'bloque', atributo 'tipo': El atributo 'tipo' no está permitido. Línea: 684 Elemento 'bloque', atributo 'tipo': El atributo 'tipo' no está permitido. Línea: 692 El mismo código se repite en varias líneas (699, 732, 737, 748, 753). Después de eso obtengo varias líneas con: Magento \ Framework \ Config \ Dom -> _ initDom /vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(111): Magento \ Framework \ Config \ Dom -> __ construct

Respuestas:

5

Esas líneas son las más probables en sus XML de diseño:

Element 'block', attribute 'type': The attribute 'type' is not allowed.
Line: 776

Element 'block', attribute 'type': The attribute 'type' is not allowed.
Line: 783

Element 'block', attribute 'type': The attribute 'type' is not allowed.
Line: 816

Lo más probable es que en XML de diseño tenga declaraciones como

<block type="..."

Que no corresponde a lib / internal / Magento / Framework / View / Layout / etc / elements.xsd y debe reemplazarse por

<block class="..."
Orlangur
fuente
Usted tenía razón. Se trataba de XML de diseño. Pero, como era de esperar, me encontré con el siguiente error en un módulo personalizado: Error fatal: Error no detectado: No se puede crear una instancia de la interfaz TemplateMonster \ FilmSlider \ Api \ SliderRepositoryInterface Creo que debería agregar un nuevo bloque de código de preferencia en di.xml.
Normalmente las preferencias deben ser agregadas por módulos que introdujeron nuevas interfaces. Marque mi respuesta como apropiada si el problema inicial se resuelve con el enfoque sugerido para que pueda ayudar a otros. Si el problema con SliderRepositoryInterface será difícil de resolver, publíquelo como otra pregunta.
Orlangur
He resuelto ese problema también. Gracias por todo su apoyo!
@Iulian, ¿cuál fue la solución que hiciste? Encontrando el mismo error con Templatemonster / FilmSlider ..
Rann