Magento 2: tipi di campi disponibili in system.xml


26

Quali sono i valori disponibili per i tipi di campo nel etc/system.xmlfile di configurazione:

<?xml version="1.0"?>
<config
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
        <section id="...">
            <group id="...">
                <field id="..." type="???">
                    ...
                </field>
            </group>
        </section>
    </system>
</config>

Risposte:


44

La configurazione del sistema Magento 2 fornisce i seguenti tipi di campi .

checkbox,
checkboxes,
column,
date,
editablemultiselect,
editor,
fieldset,
file,
gallery,
hidden,
image,
imagefile,
label,
link,
multiline,
multiselect,
note,
obscure,
password,
radio,
radios,
reset,
select,
submit,
text,
textarea,
time

l'etichetta non funziona
— Zorox

qualche idea su come realizzare il pulsante Sì / NO con il colore verde / grigio?
— Zeeshan Khuwaja,

@ZeeshanKhuwaja e le persone future, questo non si collega alla Q ma vuoi aggiungere <source_model> Magento \ Config \ Model \ Config \ Source \ Yesno </source_model> al tuo campo
— John

15

Guardando il file /lib/internal/Magento/Framework/Data/Form/Element/Factory.php(trovato qui su Github, per Magento 2.2 e 2.3), è possibile trovare il seguente elenco predefinito di elementi, come specificato da Amit nella sua risposta :

// Factory.php, lines 26-55
protected $_standardTypes = [
    'button',
    'checkbox',
    'checkboxes',
    'column',
    'date',
    'editablemultiselect',
    'editor',
    'fieldset',
    'file',
    'gallery',
    'hidden',
    'image',
    'imagefile',
    'label',
    'link',
    'multiline',
    'multiselect',
    'note',
    'obscure',
    'password',
    'radio',
    'radios',
    'reset',
    'select',
    'submit',
    'text',
    'textarea',
    'time',
];

Se Composer è stato usato per installare Magento, i dati possono anche essere trovati in /vendor/magento/framework/Data/Form/Element/Factory.php, come menzionato nel commento di Mohit di seguito.


2
Mi scuso per aver aggiunto una nuova risposta piuttosto che commentare quella di Amit. Al momento di pubblicare questa risposta non ho abbastanza reputazione per commentare le risposte degli altri.
— RNanoware,

Penso che tu abbia completato la risposta di Amit aggiungendo i dettagli del file di fabbrica. Eseguito l'upgrade per questo.
— Mohit Kumar Arora,

3
Ma il mio Magento 2.2.3 non ha questo percorso. Ho trovato il file Factory.php sul /vendor/magento/framework/Data/Form/Element/Factory.phppercorso.
— Mohit Kumar Arora,

2
@MohitKumarArora Hai ragione! Penso che i diversi percorsi dei file abbiano a che fare con il modo in cui è stato installato Magento: la clonazione da Git sembra usare /lib/internal, mentre Composer è noto per creare la /vendorcartella. Aggiornerò la risposta di conseguenza. Grazie!
— RNanoware,

Qualcuno può aggiungere / spiegare tipi di campo con modelli sorce, come yesno ha il modello sorgente Magento / config / model / config / source / yesno
— nagendra
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.