Magento 2: Verfügbare Feldtypen in system.xml


26

Welche Werte sind für Feldtypen in der etc/system.xmlKonfigurationsdatei verfügbar :

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

Antworten:


44

Die Magento 2-Systemkonfiguration bietet folgende Feldtypen .

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

Etikett funktioniert nicht
Zorox

Hast du eine Idee, wie man einen Ja / Nein-Knopf mit grüner / grauer Farbe macht?
Zeeshan Khuwaja

@ZeeshanKhuwaja und zukünftige Leute, dies ist kein Link zu Q, aber Sie möchten <source_model> Magento \ Config \ Model \ Config \ Source \ Yesno </ source_model> an Ihr Feld anhängen
John

15

Betrachtet man die Datei /lib/internal/Magento/Framework/Data/Form/Element/Factory.php( hier auf Github für Magento 2.2 und 2.3), so findet man die folgende Standardliste von Elementen, wie von Amit in seiner Antwort angegeben :

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

Wenn Composer zur Installation von Magento verwendet wurde, befinden sich die Daten möglicherweise auch in /vendor/magento/framework/Data/Form/Element/Factory.php, wie in Mohits Kommentar unten erwähnt.


2
Ich entschuldige mich dafür, dass ich eine neue Antwort hinzugefügt habe, anstatt Amits zu kommentieren. Zum Zeitpunkt der Veröffentlichung dieser Antwort habe ich nicht genug Reputation, um die Antworten anderer zu kommentieren.
RNanoware

Ich denke, Sie haben Amits Antwort vervollständigt, indem Sie Details zu den Factory-Dateien hinzugefügt haben. Dafür aufgewertet.
Mohit Kumar Arora

3
Aber mein Magento 2.2.3 hat keinen solchen Pfad. Ich konnte die Datei Factory.php unter /vendor/magento/framework/Data/Form/Element/Factory.phppath finden.
Mohit Kumar Arora

2
@MohitKumarArora Sie sind richtig! Ich denke, dass die unterschiedlichen Dateipfade damit zu tun haben, wie Magento installiert wurde: Klonen von Git scheint zu verwenden /lib/internal, während Composer dafür bekannt ist, den /vendorOrdner zu erstellen . Ich werde die Antwort entsprechend aktualisieren. Vielen Dank!
RNanoware

Kann jeder kann Feldtypen mit Sorce-Modellen hinzufügen / erklären, wie yesno das Quellmodell Magento / config / model / config / source / yesno
nagendra
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.