addColumn(new Column(Enum::OPTION_NAME)); $this->addColumn(new Column('status')); $this->addActionButton(AddOption::class); $this->addActionButton(OptionDetails::class); } public function loadData() { $packageManager = new PackageManager(); $config = $packageManager->getPackageConfiguration(PackageConfiguration::getPackageName()); $optionsList = $config->{Enum::CONFIGURABLE_OPTIONS}; $product = new Product($this->getRequestValue('id')); foreach ($optionsList as $key => $option) { $exists = $product->doesConfigurableOptionExist($option['optionname']); $optionsList[$key]['exists'] = $exists; $optionsList[$key]['gid'] = $product->getOptionGroupId($option['optionname']); $optionsList[$key]['status'] = $exists ? '' . $this->translate('active') . '' : '' . $this->translate('inactive') . ''; } $dataProvieder = new ArrayDataProvider(); $dataProvieder->setData($optionsList); $this->setDataProvider($dataProvieder); } protected function translate($phrase) { $this->loadLang(); return $this->lang->absoluteTranslate($this->id, 'status', $phrase); } }