Magento 2: tipos de campo disponibles en system.xml

26

Cuáles son los valores disponibles para los tipos de campo en el etc/system.xmlarchivo de configuración:

<?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>
Alex Gusev
fuente

Respuestas:

44

La configuración del sistema Magento 2 proporciona los siguientes tipos de campos .

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
Amit Bera
fuente
la etiqueta no funciona
Zorox
¿Alguna idea sobre cómo hacer un botón Sí / NO con color verde / gris?
Zeeshan Khuwaja
@ZeeshanKhuwaja y las personas futuras, esto no se vincula a la Q pero desea agregar <source_model> Magento \ Config \ Model \ Config \ Source \ Yesno </source_model> a su campo
John
15

Mirando el archivo /lib/internal/Magento/Framework/Data/Form/Element/Factory.php(que se encuentra aquí en Github, para Magento 2.2 y 2.3), uno puede encontrar la siguiente lista predeterminada de elementos, como lo especifica Amit en su respuesta :

// 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',
];

Si se utilizó Composer para instalar Magento, los datos también se pueden encontrar en /vendor/magento/framework/Data/Form/Element/Factory.php, como se menciona en el comentario de Mohit a continuación.

RNanoware
fuente
2
Mis disculpas por agregar una nueva respuesta en lugar de comentar sobre Amit. Al publicar esta respuesta, no tengo suficiente reputación para comentar las respuestas de otros.
RNanoware
Creo que ha completado la respuesta de Amit agregando detalles del archivo de fábrica. Votaron por esto.
Mohit Kumar Arora
3
Pero mi Magento 2.2.3 no tiene ese camino. Podría encontrar el archivo Factory.php en la /vendor/magento/framework/Data/Form/Element/Factory.phpruta.
Mohit Kumar Arora
2
@MohitKumarArora ¡Estás en lo correcto! Creo que las diferentes rutas de archivos tienen que ver con cómo se instaló Magento: parece que se usa la clonación desde Git /lib/internal, mientras que Composer crea la /vendorcarpeta. Actualizaré la respuesta en consecuencia. ¡Gracias!
RNanoware
¿Alguien puede agregar / explicar tipos de campo con modelos sorce, como yesno tiene el modelo fuente Magento / config / model / config / source / yesno
nagendra