/ / Magento 2管理タブ/ main.phpのカテゴリリストを取得 - magento2、categories、adminhtml

Magento 2管理タブ/ main.phpのカテゴリリストを取得する - magento2、categories、adminhtml

カスタムモジュールを作成しました。次に、管理者にカテゴリをドロップダウンで取得したいです。ここに画像の説明を入力

ファイルは次のパスにあります。 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" => vendormoduleBlockAdminhtmlCatbannerGrid::getOptionArray1(),
"disabled" => $isElementDisabled
]
);

オプションをカテゴリー別に設定したいのですが、どうすればよいですか。

回答:

回答№1は0

以下のコードをフィールドセットに使用

$fieldset->addField(
"category",
"select",
[
"name" => "category",
"label" => __("Category"),
"id" => "category",
"title" => __("Category"),
"values" => vendormoduleBlockAdminhtmlCatbannerGrid::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;
}

これでうまくいくことを願っています...