Magento 2: Пользовательская проверка для system.xml
Можно ли создать пользовательскую проверку для полей в конфигурации? ( Хранилища > Настройки> конфигурация)
Я создал файл system.xml
, но значений по умолчанию для тега validate недостаточно для моих нужд, и я хотел бы создать свои собственные правила.
Я нашел другой вопрос об этом, но в нем не говорится, как и где я должен поместить/объявить метод проверки.
Возможно ли это или это единственное решение для создания серверная модель с функцией сохранения перед сохранением?
1 answers
Насколько я знаю, если мы хотим добавить больше пользовательских проверок. Мы должны проверить с помощью beforeSave()
. Например, взгляните на проверку файлов cookie:
vendor/magento/module-cookie/Model/Config/Backend/Lifetime.php
.
Мы можем добавить дополнительную проверку Js для ввода пользовательского интерфейса.
Пример добавления проверки Js для системного xml:
В своем модуле создайте файл макета - adminhtml_system_config_edit.xml
app/code/Vendor/Module/view/adminhtml/layout/adminhtml_system_config_edit.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="js">
<block class="Magento\Backend\Block\Template"
template="Module_Vendor::system/config/custom_js.phtml"/>
</referenceContainer>
</body>
</page>
Не забудьте добавить свою пользовательскую проверку в шаблон.