Magento 2事件扩展付款方式功能

5f0d552i  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(188)

我需要帮助。我正在为Magento 2创建一个自定义的支付方式。在插件中,用户需要输入密钥。在保存配置时,我想检查用户输入的密钥是否正确。如果密钥不正确,我想显示一条消息,通知用户该问题。
我在谷歌上搜索了一下,我想我已经找到了事件admin_system_config_changed_section_{sectionname}。我实现了它,清除该高速缓存并重新编译了代码,但当我保存支付方式插件的配置数据时,它没有触发该类。我查看了Magento文档。我找不到它的确切完整事件名称。以下是我尝试的完整事件名称:
admin_system_config_changed_section_{sectionname}x 1月2日x 1月3日x

我的付款/付款/etc/管理员html/事件.xml

<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_payment_methods">
        <observer name="my_payment_admin_system_config_changed_section_paymentmethods" instance="MyPayment\Payment\Observer\CustomPaymentMethodConfigObserver" />
    </event>
</config>

我的付款/付款/观察者/自定义付款方式配置观察者

<?php

namespace MyPayment\Payment\Observer;

use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\Event\Observer;

class CustomPaymentMethodConfigObserver implements ObserverInterface
{
    public function execute(Observer $observer)
    {
        // some codes that did not trigger
    }
}
1zmg4dgp

1zmg4dgp1#

尝试使用<backend_model>

public function beforeSave()
{
    if ($this->getValue() == '') {
        throw new \Magento\Framework\Exception\ValidatorException(__($label . ' is required.'));
    } else ($this->getValue())) {
         //custom validation here
    }

    $this->setValue($this->getValue());
    parent::beforeSave();
}

请参阅

相关问题