Catalogvisibility.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Dotdigitalgroup\Email\Model\Config\Configuration;
  3. class Catalogvisibility implements \Magento\Framework\Data\OptionSourceInterface
  4. {
  5. /**
  6. * @var \Magento\Catalog\Model\Product\Visibility
  7. */
  8. private $productVisibility;
  9. /**
  10. * Catalogvisibility constructor.
  11. *
  12. * @param \Magento\Catalog\Model\Product\Visibility $productVisibility
  13. */
  14. public function __construct(
  15. \Magento\Catalog\Model\Product\Visibility $productVisibility
  16. ) {
  17. $this->productVisibility = $productVisibility;
  18. }
  19. /**
  20. * Return options.
  21. *
  22. * @return mixed
  23. */
  24. public function toOptionArray()
  25. {
  26. $visibilities
  27. = $this->productVisibility->getAllOptions();
  28. $options[] = [
  29. 'label' => __('---- Default Option ----'),
  30. 'value' => '0',
  31. ];
  32. foreach ($visibilities as $visibility) {
  33. $options[] = [
  34. 'label' => $visibility['label'],
  35. 'value' => $visibility['value'],
  36. ];
  37. }
  38. return $options;
  39. }
  40. }