FileProvider.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Theme\Model\Theme;
  7. class FileProvider implements \Magento\Framework\View\Design\Theme\FileProviderInterface
  8. {
  9. /**
  10. * @var \Magento\Theme\Model\ResourceModel\Theme\File\CollectionFactory
  11. */
  12. protected $fileFactory;
  13. /**
  14. * @param \Magento\Theme\Model\ResourceModel\Theme\File\CollectionFactory $fileFactory
  15. */
  16. public function __construct(\Magento\Theme\Model\ResourceModel\Theme\File\CollectionFactory $fileFactory)
  17. {
  18. $this->fileFactory = $fileFactory;
  19. }
  20. /**
  21. * {@inheritdoc}
  22. */
  23. public function getItems(\Magento\Framework\View\Design\ThemeInterface $theme, array $filters = [])
  24. {
  25. /** @var \Magento\Framework\View\Design\Theme\File\CollectionInterface $themeFiles */
  26. $themeFiles = $this->fileFactory->create();
  27. $themeFiles->addThemeFilter($theme);
  28. foreach ($filters as $field => $value) {
  29. $themeFiles->addFieldToFilter($field, $value);
  30. }
  31. $themeFiles->setDefaultOrder();
  32. return $themeFiles->getItems();
  33. }
  34. }