collectionFactory = $collectionFactory; } public function toOptionArray() { $options = []; foreach($this->getOptions() as $optionValue => $optionLabel){ $options[] = ['value' => $optionValue, 'label' => $optionLabel]; } return $options; } public function getOptions() { $collection = $this->collectionFactory->create(); $collection->addFieldToFilter('main_table.frontend_input', 'select'); $collection->addOrder('attribute_code', 'asc'); $options = ['' => _('-- Empty --')]; foreach($collection->getItems() as $attribute){ $options[$attribute->getAttributeCode()] = $attribute->getAttributeCode(); } return $options; } }