I need to select one or more option before rendering this page. I tried several ways but unable to find an exact way to solve my issue.
I need to select Tea and Other Tea Option before loading.
Form.php
protected function _prepareForm()
{
$model = $this->_coreRegistry->registry('row_data');
$form = $this->_formFactory->create(['data' => ['id' => 'edit_form', 'enctype' => 'multipart/form-data', 'action' => $this->getData('action'), 'method' => 'post']]);
if ($model) {
$fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Review Details'), 'class' => 'fieldset-wide']);
$fieldset->addField('entity_id', 'hidden', ['name' => 'entity_id']);
} else {
$fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Review Details'), 'class' => 'fieldset-wide']);
}
$fieldset->addField(
'shop_title',
'text',
[
'name' => 'seller_name',
'label' => __('Seller Name'),
'title' => __('Seller Name'),
'class' => 'required-entry',
'required' => true,
'disabled' => $model ? true : false,
]
);
$fieldset->addField(
'categoryList',
'multiselect',
[
'name' => 'categoryList[]',
'label' => __('Categories'),
'title' => __('Categories'),
'values' => $model->getData('categoryList'),
'disabled' => false
]
);
$form->setValues($model ? $model->getData() : '');
$form->setUseContainer(true);
$this->setForm($form);
return parent::_prepareForm();
}
$model->getData('categoryList') Array
array (
0 =>
array (
'label' => 'Wood & Wooden Products',
'value' => '56',
),
1 =>
array (
'label' => 'Food, Feed & Beverages',
'value' => '35',
),
2 =>
array (
'label' => 'Tea',
'value' => '32',
),
3 =>
array (
'label' => 'Other Tea',
'value' => '167',
),
)
array generate as below
foreach ($categoryListArray as $catId)
{
$categoryObj = $this->categoryRepository->get($catId);
$name = $categoryObj->getName();
$options[] = ['label' => $name, 'value' => $catId ,];
}