Mise à niveau de Magento 2.2.0, le type d'attribut d'erreur n'est pas autorisé

9

J'ai pu mettre à niveau une boutique Magento de 2.1.6 à 2.2.0. Le backend fonctionne très bien, mais je rencontre une exception sur le front office.

Le message d'exception dit: Élément 'bloc', attribut 'type': L'attribut 'type' n'est pas autorisé.

Toute la situation est décrite dans le prochain article de GitHub: https://github.com/magento/magento2/issues/11839

Je suis nouveau à Magento. Pourrait me donner un lien qui décrit d'où dois-je supprimer l'attribut de type non valide ou d'autres attributs ou d'où puis-je le refactoriser?

Randhir Yadav
la source
Il semble que vous gâchiez le tableau de configuration. Partagez l'exception complète, de préférence avec la partie code ici.
Ricardo Martins
Cela fait partie du code: 1 exception (s): Exception # 0 (Magento \ Framework \ Config \ Dom \ ValidationException): Élément 'block', attribut 'type': L'attribut 'type' n'est pas autorisé. Ligne: 684 Élément 'bloc', attribut 'type': L'attribut 'type' n'est pas autorisé. Ligne: 692 Le même code se répète sur plusieurs lignes (699, 732, 737, 748, 753). Après cela, j'obtiens plusieurs lignes avec: Magento \ Framework \ Config \ Dom -> _ initDom /vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(111): Magento \ Framework \ Config \ Dom -> __ construct

Réponses:

5

Ces lignes sont les plus probables dans vos XML de mise en page:

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

Très probablement dans les XML de mise en page, vous avez des déclarations comme

<block type="..."

Ce qui ne correspond pas à lib / internal / Magento / Framework / View / Layout / etc / elements.xsd et doit être remplacé par

<block class="..."
Orlangur
la source
Tu avais raison. Il y avait des XML de mise en page. Mais, comme prévu, j'ai rencontré l'erreur suivante sur un module personnalisé: Erreur fatale: erreur non détectée: impossible d'instancier l'interface TemplateMonster \ FilmSlider \ Api \ SliderRepositoryInterface Je pense que je devrais ajouter un nouveau bloc de code de préférence dans di.xml.
Normalement, les préférences devraient être ajoutées par des modules qui ont introduit de nouvelles interfaces. Veuillez indiquer ma réponse comme appropriée si le problème initial est résolu par l'approche suggérée afin qu'elle puisse aider les autres. Si le problème avec SliderRepositoryInterface sera difficile à résoudre, postez-le comme une autre question.
Orlangur
J'ai également résolu ce problème. Merci pour tout votre support!
@Iulian, quelle a été la correction que vous avez faite? Rencontrer la même erreur avec le Templatemonster / FilmSlider ..
Rann