È possibile aggiungere un file system.xml
per le configurazioni dei moduli in Magento 2? Se é cosi, come?Magento 2: system.xml nel modulo personalizzato
6
A
risposta
10
Sì, in Magento 2 è possibile creare il file di configurazione del sistema come Magento 1.x. Ma avrà bisogno di creare altri file.
È necessario utilizzare il seguente file per crearlo.
1) app/code/Vendor/Helloworld/etc/adminhtml/system.xml
2) app/code/Vendor/Helloworld/etc/acl.xml
Questi 2 file sono importanti per creare la configurazione del sistema.
In system.xml
file di
Aggiunta del contenuto comune
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../Config/etc/system_file.xsd">
<system>
<!-- Add new Tab -->
<tab id="vendor" translate="label" sortOrder="300">
<label>Vendor Extension</label>
</tab>
<section id="helloworld" translate="label" type="text" sortOrder="140" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Helloworld</label>
<tab>vendor</tab>
<!-- resource tag name which we have to defined in the acl.xml -->
<resource>Vendor_Helloworld::config_helloworld</resource>
<group id="general" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
<label>General Options</label>
<field id="active" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Enabled</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
</group>
</section>
</system>
</config>
In acl.xml
file di
Nel file bisogno di scrivere il contenuto al di sotto
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Acl/etc/acl.xsd">
<acl>
<resources>
<resource id="Magento_Backend::admin">
<resource id="Magento_Backend::stores">
<resource id="Magento_Backend::stores_settings">
<resource id="Magento_Config::config">
<!-- this resource id we can use in system.xml for section -->
<resource id="Vendor_Helloworld::config_helloworld" title="Helloworld Section" sortOrder="80" />
</resource>
</resource>
</resource>
</resource>
</resources>
</acl>
</config>
Dopo di che, Cancella il cache magento & logout dal lato dell'amministratore. Quindi accedi dal lato dell'amministratore. Nel negozio> Configurazione puoi vedere la scheda "Estensione fornitore". Quando fai clic su questo puoi vedere il dettaglio di questo.
Ha funzionato perfettamente quando ho spostato l'elemento "gruppo" all'interno dell'elemento "sezione". Altrimenti system.xml ha provocato un errore. – Gerard