Magento2 Magento 2在admin选项卡/main.php中获取类别列表

Magento2 Magento 2在admin选项卡/main.php中获取类别列表,magento2,categories,adminhtml,Magento2,Categories,Adminhtml,我已经创建了一个自定义模块。现在我想在管理下拉列表中获取类别 文件位于以下路径上, app/code/vendor/theme/block/adminhtml/catbanner/edit/tab/Main.php html用于下拉列表是 $fieldset->addField( 'banner_category', 'select', [ 'label' => __('Select Category'),

我已经创建了一个自定义模块。现在我想在管理下拉列表中获取类别

文件位于以下路径上, app/code/vendor/theme/block/adminhtml/catbanner/edit/tab/Main.php

html用于下拉列表是

 $fieldset->addField(
        'banner_category',
        'select',
        [
            'label' => __('Select Category'),
            'title' => __('Select Category'),
            'name' => 'banner_category',
            'required' => true,
            'options' => \vendor\module\Block\Adminhtml\Catbanner\Grid::getOptionArray1(),
            'disabled' => $isElementDisabled
        ]
    );

我希望选项由类别填充。请帮助我如何完成此操作?

使用下面的字段集代码

$fieldset->addField(
'category',
'select',
[
    'name' => 'category',
    'label' => __('Category'),
    'id' => 'category',
    'title' => __('Category'),
    'values' => \vendor\module\Block\Adminhtml\Catbanner\Grid::getOptionArray1(),
    'class' => 'category',
    'required' => true,
]);
在网格块中使用以下代码:

public function getOptionArray1()
{
    $categoryCollection = $this->_categoryCollectionFactory->create()
        ->addAttributeToSelect(array('id','name'))
        ->addAttributeToFilter('is_active','1');
    $options = array();
    foreach($categoryCollection as $category){
            $options[] = array(
               'label' => $category->getName(),
               'value' => $category->getId()
            );
    }
    return $options;
}
希望这对你有用