Оновлення Magento 2.2.0, тип атрибута помилки не дозволений


9

Мені вдалося оновити магазин Magento з 2.1.6 до 2.2.0. Бекенд працює дуже добре, але я зустрічаю виняток на передньому офісі.

Повідомлення про виняток говорить: Елемент 'блок', атрибут 'type': атрибут 'type' заборонено.

Вся ситуація описана в наступному дописі від GitHub: https://github.com/magento/magento2/isissue/11839

Я новачок у Магенто. Чи можете мені надати посилання, в якому описується, звідки я повинен видалити недійсний атрибут типу чи інші атрибути, або звідки я можу його рефакторировать?


Здається, ви зіпсуєте масив налаштувань. Поділіться повним винятком, бажано з кодовою частиною тут.
Рікардо Мартінс

Це частина коду: 1 виняток: Виняток № 0 (Magento \ Framework \ Config \ Dom \ ValidationException): Елемент 'block', атрибут 'type': Атрибут 'type' не дозволений. Рядок: 684 Елемент 'блок', атрибут 'type': атрибут 'type' заборонений. Рядок: 692 Один і той же код повторюється в декількох рядках (699, 732, 737, 748, 753). Після цього я отримую кілька рядків за допомогою: Magento \ Framework \ Config \ Dom -> _ initDom /vendor/magento/framework/ObjectManager/Factory/Ab AbstractFactory.php(111): Magento \ Framework \ Config \ Dom -> __ construct

Відповіді:


5

Ці рядки найімовірніші в XML-макетів вашого макета:

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

Швидше за все, у макеті XML у вас є декларації, як

<block type="..."

Що не відповідає lib / Internal / Magento / Framework / View / Layout / etc / elements.xsd і потребує заміни на

<block class="..."

Ви були праві. Йшлося про макет XML. Але, як очікувалося, я зіткнувся з такою помилкою у користувальницькому модулі: Фатальна помилка: Невиконана помилка: Неможливо створити інтерфейс TemplateMonster \ FilmSlider \ Api \ SliderRepositoryInterface Я думаю, що я повинен додати новий блок коду переваг у di.xml.

Зазвичай переваги повинні додаватися модулями, які впроваджували нові інтерфейси. Будь ласка, позначте мою відповідь як відповідну, якщо початкове питання вирішується запропонованим підходом, щоб воно могло допомогти іншим. Якщо проблему з SliderRepositoryInterface важко вирішити, опублікуйте це як інше питання.
Орлангур

Я також вирішив цю проблему. Дякую за всю вашу підтримку!

@Iulian, що ти вирішив? Натрапив на ту саму помилку з Templatemonster / FilmSlider ..
Rann
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.