ShippingCategories.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Cpcommerce\ShippingNotifications\Model\Config\Source;
  3. use Magento\Framework\Data\OptionSourceInterface;
  4. use Magento\Catalog\Model\Product\Attribute\Repository;
  5. use \Magento\Framework\App\Config\ScopeConfigInterface;
  6. class ShippingCategories implements OptionSourceInterface
  7. {
  8. private $attribute;
  9. private $scopeConfig;
  10. public function __construct(
  11. Repository $attribute,
  12. ScopeConfigInterface $scopeConfig
  13. ){
  14. $this->attribute = $attribute;
  15. $this->scopeConfig = $scopeConfig;
  16. }
  17. public function toOptionArray()
  18. {
  19. $options = [];
  20. $attributeCode = $this->scopeConfig->getValue('cpcommerce_shipping_notifications/general/attribute',\Magento\Store\Model\ScopeInterface::SCOPE_STORE);
  21. $shippingCategories = $this->attribute->get($attributeCode)->getOptions();
  22. foreach($shippingCategories AS $shippingCategory){
  23. $options[] = [
  24. 'value' => $shippingCategory->getValue(),
  25. 'label' => $shippingCategory->getLabel()
  26. ];
  27. }
  28. return $options;
  29. }
  30. }