TransportBuilderPlugin.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace Dotdigitalgroup\Email\Plugin;
  3. use Magento\Framework\Mail\Template\TransportBuilder;
  4. /**
  5. * Class TransportBuilderPlugin
  6. *
  7. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  8. */
  9. class TransportBuilderPlugin
  10. {
  11. /**
  12. * @var \Magento\Framework\Registry
  13. */
  14. private $registry;
  15. /**
  16. * TransportBuilderPlugin constructor.
  17. *
  18. * @param \Magento\Framework\Registry $registry
  19. */
  20. public function __construct(
  21. \Magento\Framework\Registry $registry
  22. ) {
  23. $this->registry = $registry;
  24. }
  25. /**
  26. * @param TransportBuilder $transportBuilder
  27. * @param array $templateOptions
  28. *
  29. * @return null
  30. */
  31. public function beforeSetTemplateOptions(TransportBuilder $transportBuilder, $templateOptions)
  32. {
  33. //If registry already exist for key then un-register first before registering
  34. if ($this->registry->registry('transportBuilderPluginStoreId') !== null) {
  35. $this->registry->unregister('transportBuilderPluginStoreId');
  36. }
  37. $this->registry->register('transportBuilderPluginStoreId', $templateOptions['store']);
  38. return null;
  39. }
  40. }