/ / Magento 2 Pobierz listę kategorii w zakładce admin / main.php - magento2, kategorie, adminhtml

Magento 2 Pobierz listę kategorii w zakładce admin / main.php - magento2, kategorie, adminhtml

Utworzyłem niestandardowy moduł. Teraz chcę, aby kategorie były rozwijane w panelu administratora.wprowadź opis obrazu tutaj

Plik ma następującą ścieżkę, app / code / vendor / theme / block / adminhtml / catbanner / edit / tab / Main.php

HTML jest do rozwijania to,

 $fieldset->addField(
"banner_category",
"select",
[
"label" => __("Select Category"),
"title" => __("Select Category"),
"name" => "banner_category",
"required" => true,
"options" => vendormoduleBlockAdminhtmlCatbannerGrid::getOptionArray1(),
"disabled" => $isElementDisabled
]
);

Chcę, aby opcje były wypełniane według kategorii. Prosimy o pomoc, jak to zrobić?

Odpowiedzi:

0 dla odpowiedzi № 1

Użyj poniższego kodu dla zestawu pól

$fieldset->addField(
"category",
"select",
[
"name" => "category",
"label" => __("Category"),
"id" => "category",
"title" => __("Category"),
"values" => vendormoduleBlockAdminhtmlCatbannerGrid::getOptionArray1(),
"class" => "category",
"required" => true,
]);

W swoim bloku siatki użyj poniższego kodu:

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;
}

Mam nadzieję, że to zadziała dla ciebie ...