Étapes à reproduire
1. Le script Module UpgradeData.php contient:
$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. afficher / 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>
Résultat attendu
- Dans le formulaire de catégorie devrait apparaître une liste déroulante, sélectionnez Roflcopter avec des blocs CMS comme options
Résultat actuel
- Liste déroulante vide
magento-2.1
Sergejs Zakatovs
la source
la source
Réponses:
Ajoutez une balise d'options pour créer des options de sélection. Dans votre cas, cela devrait être
la source
J'ai fait dans mon cas. J'ai des options personnalisées ex. L1, L2 et L3. J'ai besoin de les obtenir sur un attribut personnalisé en tant que valeurs. J'ai donc créé un fichier source dans le module - vendeur \ module \ Model \ Config \ Source \ Options.php
ce fichier contient le petit code pour créer les options, ici vous pouvez suivre le code
puis après dans votre installdata.php vous devez l'appeler comme source
Ensuite, ajoutez également la ligne dans le fichier xml
Enregistrez-le, videz le cache et veuillez vérifier.
la source