Magento 2: types de champs disponibles dans system.xml

26

Quelles sont les valeurs disponibles pour les types de champs dans le etc/system.xmlfichier de configuration:

<?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
la source

Réponses:

44

La configuration du système Magento 2 fournit le type de champs ci-dessous .

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
la source
étiquette ne fonctionne pas
Zorox
une idée sur la façon de faire un bouton Oui / NON avec une couleur verte / grise?
Zeeshan Khuwaja
@ZeeshanKhuwaja et futures personnes, cela ne fait pas de lien avec le Q mais vous voulez ajouter <source_model> Magento \ Config \ Model \ Config \ Source \ Yesno </source_model> à votre domaine
John
15

En regardant le fichier /lib/internal/Magento/Framework/Data/Form/Element/Factory.php(trouvé ici sur Github, pour Magento 2.2 et 2.3), on peut trouver la liste d'éléments par défaut suivante, comme spécifié par Amit dans sa réponse :

// 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 Composer a été utilisé pour installer Magento, les données peuvent également être trouvées dans /vendor/magento/framework/Data/Form/Element/Factory.php, comme mentionné dans le commentaire de Mohit ci-dessous.

RNanoware
la source
2
Mes excuses pour avoir ajouté une nouvelle réponse plutôt que de commenter sur Amit. Au moment de poster cette réponse, je n'ai pas assez de réputation pour commenter les réponses des autres.
RNanoware
Je pense que vous avez terminé la réponse d'Amit en ajoutant des détails sur le fichier d'usine. A voté pour cela.
Mohit Kumar Arora
3
Mais mon Magento 2.2.3 n'a pas un tel chemin. J'ai pu trouver le fichier Factory.php au /vendor/magento/framework/Data/Form/Element/Factory.phpchemin.
Mohit Kumar Arora du
2
@MohitKumarArora Vous avez raison! Je pense que les chemins de fichiers différents ont à voir avec la façon dont Magento a été installé: le clonage à partir de Git semble utiliser /lib/internal, tandis que Composer est connu pour créer le /vendordossier. Je mettrai à jour la réponse en conséquence. Merci!
RNanoware
Quelqu'un peut-il ajouter / expliquer des types de champs avec des modèles de sorce, comme yesno a le modèle source Magento / config / model / config / source / yesno
nagendra