Magento 2: Выпадающий список не отображается в форме администратора
Я добавляю раскрывающееся поле в форме администратора для отображения статуса включить или отключить следующим образом:
<field name="status">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="label" translate="true" xsi:type="string">Status</item>
<item name="formElement" xsi:type="string">select</item>
<item name="options" xsi:type="string">Lime\Confirmation\Model\Status</item>
<item name="source" xsi:type="string">bank_destination</item>
<item name="sortOrder" xsi:type="number">130</item>
<item name="dataScope" xsi:type="string">status</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">false</item>
</item>
</item>
</argument>
</field>
Он вызывает модель/статус для метки и значения параметров. Когда я загружаю раскрывающийся список страниц, в нем не отображаются какие-либо метки и значения в качестве опции. Вот это Model/Status.php :
namespace Lime\Confirmation\Model;
class Status implements \Magento\Framework\Option\ArrayInterface
{
/**
* Retrieve options array.
*
* @return array
*/
public function toOptionArray()
{
$result = [];
foreach (self::getOptionArray() as $index => $value) {
$result[] = ['value' => $index, 'label' => $value];
}
return $result;
}
/**
* Retrieve option array
*
* @return string[]
*/
public static function getOptionArray()
{
return [
'1' => 'Active',
'0' => 'Inactive',
];
}
/**
* Retrieve option array with empty value
*
* @return string[]
*/
public function getAllOptions()
{
$result = [];
foreach (self::getOptionArray() as $index => $value) {
$result[] = ['value' => $index, 'label' => $value];
}
return $result;
}
/**
* Retrieve option text by option value
*
* @param string $optionId
* @return string
*/
public function getOptionText($optionId)
{
$options = self::getOptionArray();
return isset($options[$optionId]) ? $options[$optionId] : null;
}
}
1
Author: Dhiren Vasoya, 2017-02-06
1 answers
Попробуйте сделать это следующим образом:
<field name="status"> <argument name="data" xsi:type="array"> <item name="options" xsi:type="object">Lime\Confirmation\Model\Status</item> <item name="config" xsi:type="array"> <item name="label" xsi:type="string" translate="true">Status</item> <item name="dataType" xsi:type="string">number</item> <item name="formElement" xsi:type="string">select</item> <item name="dataScope" xsi:type="string">status</item> <item name="sortOrder" xsi:type="number">130</item> <item name="validation" xsi:type="array"> <item name="required-entry" xsi:type="boolean">false</item> </item> </item> </argument> </field>
2
Author: Sohel Rana, 2017-02-06 04:03:33