Schritte zum Reproduzieren
1. Das Modul UpgradeData.php enthält:
$categorySetup->addAttribute(Category::ENTITY, 'roflcopter', [
'type' => 'int',
'label' => 'CMS Block',
'input' => 'select',
'source' => 'Magento\Catalog\Model\Category\Attribute\Source\Page',
'required' => false,
'sort_order' => 20,
'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_STORE,
'group' => 'Display Settings',
]);
2. view / adminhtml / ui_component / category_form.xml
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<fieldset name="Navigation">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string" translate="true">Navigation</item>
<item name="collapsible" xsi:type="boolean">true</item>
<item name="sortOrder" xsi:type="number">100</item>
</item>
</argument>
<field name="roflcopter">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="sortOrder" xsi:type="number">60</item>
<item name="dataType" xsi:type="string">string</item>
<item name="formElement" xsi:type="string">select</item>
<item name="label" xsi:type="string" translate="true">Roflcopter</item>
</item>
</argument>
</field>
</fieldset>
</form>
Erwartetes Ergebnis
- In der Kategorie-Dropdown-Liste sollte Roflcopter mit CMS-Blöcken als Optionen ausgewählt werden
Tatsächliche Ergebnis
- Leere Dropdown-Liste
magento-2.1
Sergejs Zakatovs
quelle
quelle
Antworten:
Options-Tag zum Erstellen ausgewählter Optionen hinzufügen. In Ihrem Fall sollte dies sein
quelle
Ich habe in meinem Fall getan. Ich habe benutzerdefinierte Optionen ex. L1, L2 und L3. Ich muss sie als Werte für ein benutzerdefiniertes Attribut erhalten. Also habe ich eine Quelldatei in module - vendor \ module \ Model \ Config \ Source \ Options.php erstellt
Diese Datei enthält den kleinen Code zum Erstellen der Optionen. Hier können Sie dem Code folgen
Danach müssen Sie dies in Ihrer installdata.php als Quelle aufrufen
Fügen Sie dann auch die Zeile in der XML-Datei hinzu
Speichern Sie es, leeren Sie den Cache und überprüfen Sie es.
quelle