EmailTemplateFile.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\View\Design\FileResolution\Fallback;
  7. use Magento\Framework\View\Design\ThemeInterface;
  8. /**
  9. * Model that finds file paths by their fileId
  10. */
  11. class EmailTemplateFile
  12. {
  13. /**
  14. * @var \Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple
  15. */
  16. protected $resolver;
  17. /**
  18. * Constructor
  19. *
  20. * @param \Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple $resolver
  21. */
  22. public function __construct(
  23. \Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple $resolver
  24. ) {
  25. $this->resolver = $resolver;
  26. }
  27. /**
  28. * Get file name, using fallback mechanism
  29. *
  30. * @param string $area
  31. * @param ThemeInterface $themeModel
  32. * @param string $locale
  33. * @param string $file
  34. * @param string|null $module
  35. * @return bool|string
  36. */
  37. public function getFile($area, ThemeInterface $themeModel, $locale, $file, $module = null)
  38. {
  39. return $this->resolver->resolve($this->getFallbackType(), $file, $area, $themeModel, $locale, $module);
  40. }
  41. /**
  42. * Get fallback type
  43. *
  44. * @return string
  45. */
  46. protected function getFallbackType()
  47. {
  48. return \Magento\Framework\View\Design\Fallback\RulePool::TYPE_EMAIL_TEMPLATE;
  49. }
  50. }