Atualização Magento 2.2.0, tipo de atributo de erro não é permitido

9

Consegui atualizar uma loja Magento de 2.1.6 para 2.2.0. O back-end está funcionando muito bem, mas estou encontrando uma exceção no front office.

A mensagem de exceção diz: Elemento 'block', atributo 'type': O atributo 'type' não é permitido.

Toda a situação é descrita no próximo post do GitHub: https://github.com/magento/magento2/issues/11839

Eu sou novo no Magento. Poderia me fornecer um link que descreva de onde devo remover o atributo de tipo inválido ou outros atributos ou de onde posso refatorá-lo?

Randhir Yadav
fonte
Parece que você está bagunçando a matriz de instalação. Compartilhe a exceção completa, de preferência com a parte do código aqui.
Ricardo Martins
Isso faz parte do código: 1 exceção (s): Exceção # 0 (Magento \ Framework \ Config \ Dom \ ValidationException): Elemento 'block', atributo 'type': O atributo 'type' não é permitido. Linha: 684 Elemento 'block', atributo 'type': O atributo 'type' não é permitido. Linha: 692 O mesmo código se repete em várias linhas (699, 732, 737, 748, 753). Depois disso, recebo várias linhas com: Magento \ Framework \ Config \ Dom -> _ initDom /vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(111): Magento \ Framework \ Config \ Dom -> __ construct

Respostas:

5

Essas linhas são as mais prováveis ​​nos XMLs de layout:

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

Muito provavelmente nos XMLs de layout, você tem declarações como

<block type="..."

O que não corresponde à lib / internal / Magento / Framework / View / Layout / etc / elements.xsd e precisa ser substituído por

<block class="..."
Orlangur
fonte
Você estava certa. Havia sobre XMLs de layout. Mas, como esperado, encontrei o seguinte erro em um módulo personalizado: Erro fatal: Erro não capturado: Não é possível instanciar a interface TemplateMonster \ FilmSlider \ Api \ SliderRepositoryInterface Acho que devo adicionar um novo bloco de código de preferência no di.xml.
Normalmente, as preferências devem ser adicionadas pelos módulos que introduziram novas interfaces. Marque minha resposta como apropriada se o problema inicial for resolvido pela abordagem sugerida para que possa ajudar outras pessoas. Se o problema com o SliderRepositoryInterface for difícil de resolver, publique-o como outra pergunta.
Orlangur
Eu também resolvi esse problema. Obrigado por todo seu apoio!
@Iulian, qual foi a correção que você fez? Correndo para o mesmo erro com o TemplateMonster / FilmSlider ..
Rann