Пользовательская конфигурация наблюдателя событий Magento 2 сохраняет данную ошибку


У меня есть вкладка пользовательского раздела в конфигурации, мой URL-адрес раздела: http://dev.test/admin/admin/system_config/edit/section/vendor_module/key/?????????

exception(s):
Exception #0 (Magento\Framework\Exception\LocalizedException): Invalid XML in file .../app/code/Vendor/Module/etc/adminhtml/events.xml:
Element 'event', attribute 'name': [facet 'pattern'] The value 'admin_system_config_changed_section_vendor_module' is not accepted by the pattern '[a-zA-Z_]+'.
Line: 3

Element 'event', attribute 'name': 'admin_system_config_changed_section_vendor_module' is not a valid value of the atomic type 'eventName'.
Line: 3

Element 'event', attribute 'name': Warning: No precomputed value 
available, the value was either invalid or something strange happend.
Line: 3
...

Events.xml :

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="admin_system_config_changed_section_vendor_module">
    <observer name="custom_admin_system_config_change_vendor_module" instance="Vendor\Module\Observer\ConfigObserver"/>
</event>
</config>

Он работает с general и другими разделами. Есть какие-нибудь идеи?

Author: Juliano Vargas, 2019-06-04

2 answers

Я думаю, что это связано с ошибкой, и у вашего поставщика или модуля есть номер в названии. Как "b2b" или что-то в этом роде.

Решение состоит в том, чтобы изменить имена с этими номерами или перейти на Magento 2.3

Ссылка. https://github.com/magento/magento2/issues/5035 введите описание ссылки здесь

 1
Author: BartZalas, 2019-06-04 21:25:34

Я не вижу никаких проблем с этим XML

Сравните это с этим

<?xml version="1.0" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="custom_admin_system_config_change_vendor_module">
        <observer instance="Xigen\Config\Observer\Backend\Custom\AdminSystemConfigChangeVendorModule" name="xigen_config_observer_backend_custom_adminsystemconfigchangevendormodule_custom_admin_system_config_change_vendor_module"/>
    </event>
</config>

AdminSystemConfigChangeVendorModule.php

namespace Xigen\Config\Observer\Backend\Custom;

class AdminSystemConfigChangeVendorModule implements \Magento\Framework\Event\ObserverInterface
{
    /**
     * Execute observer
     *
     * @param \Magento\Framework\Event\Observer $observer
     * @return void
     */
    public function execute(
        \Magento\Framework\Event\Observer $observer
    ) {
        //Your observer code
    }
}
 0
Author: Dominic Xigen, 2019-06-04 19:58:11