Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
EnabledSourceCode.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 
21 {
25  private $sourceRepository;
26 
30  private $searchCriteriaBuilder;
31 
36  public function __construct(
37  SourceRepositoryInterface $sourceRepository,
38  SearchCriteriaBuilder $searchCriteriaBuilder
39  ) {
40  $this->sourceRepository = $sourceRepository;
41  $this->searchCriteriaBuilder = $searchCriteriaBuilder;
42  }
43 
47  public function toOptionArray(): array
48  {
49  $searchCriteria = $this->searchCriteriaBuilder
50  ->addFilter(SourceInterface::ENABLED, true)
51  ->create();
52  $sourcesSearchResult = $this->sourceRepository->getList($searchCriteria);
53  $sourcesList = $sourcesSearchResult->getItems();
54 
55  $optionArray = [];
56  foreach ($sourcesList as $source) {
57  $optionArray[] = ['value' => $source->getSourceCode(), 'label' => $source->getSourceCode()];
58  }
59  return $optionArray;
60  }
61 }
$source
Definition: source.php:23
$searchCriteria
$searchCriteriaBuilder
__construct(SourceRepositoryInterface $sourceRepository, SearchCriteriaBuilder $searchCriteriaBuilder)
$sourceRepository
Definition: source.php:20