Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. <type name="MagentoSalesModelOrderEmailSender">
  2. <plugin name="module_name::aroundPrepareTemplate" type="modulenameModelOrderEmailSender" sortOrder="99999"/>
  3. </type>
  4.  
  5. <?php
  6.  
  7. namespace modulenameModelOrderEmail;
  8.  
  9. use MagentoSalesModelOrder;
  10. use MagentoSalesModelOrderEmailContainerIdentityInterface;
  11. use MagentoSalesModelOrderEmailContainerTemplate;
  12. use MagentoSalesModelOrderAddressRenderer;
  13.  
  14.  
  15. abstract class Sender
  16. {
  17.  
  18. protected $senderBuilderFactory;
  19.  
  20.  
  21. protected $templateContainer;
  22.  
  23.  
  24. protected $identityContainer;
  25.  
  26. protected $logger;
  27.  
  28.  
  29. protected $addressRenderer;
  30.  
  31.  
  32. public function __construct(
  33. Template $templateContainer,
  34. IdentityInterface $identityContainer,
  35. MagentoSalesModelOrderEmailSenderBuilderFactory $senderBuilderFactory,
  36. PsrLogLoggerInterface $logger,
  37. Renderer $addressRenderer
  38. ) {
  39. $this->templateContainer = $templateContainer;
  40. $this->identityContainer = $identityContainer;
  41. $this->senderBuilderFactory = $senderBuilderFactory;
  42. $this->logger = $logger;
  43. $this->addressRenderer = $addressRenderer;
  44. }
  45.  
  46.  
  47. public function aroundPrepareTemplate($subject,Order $order)
  48. {
  49. $this->templateContainer->setTemplateOptions($this->getTemplateOptions());
  50. $objectManager = MagentoFrameworkAppObjectManager::getInstance();
  51. $orderItems = $order->getAllItems();
  52.  
  53. foreach ($orderItems as $item) {
  54.  
  55. $product = $objectManager->get('MagentoCatalogModelProduct')->load($item->getProductId());
  56. $categoryIds = $product->getCategoryIds();
  57.  
  58. }
  59. foreach($categoryIds as $catid){
  60. $_objectManager = MagentoFrameworkAppObjectManager::getInstance();
  61. $category = $_objectManager->create('MagentoCatalogModelCategory')
  62. ->load($catid);
  63. }
  64.  
  65.  
  66. if ($order->getCustomerIsGuest()) {
  67. $templateId = $this->identityContainer->getGuestTemplateId();
  68. $customerName = $order->getBillingAddress()->getName();
  69. } else {
  70. $templateId = $this->identityContainer->getTemplateId();
  71. $customerName = $order->getCustomerName();
  72. }
  73.  
  74. if($catid == 461){
  75. $templateId = 11 ;
  76. }
  77.  
  78.  
  79. $this->identityContainer->setCustomerName($customerName);
  80. $this->identityContainer->setCustomerEmail($order->getCustomerEmail());
  81. $this->templateContainer->setTemplateId($templateId);
  82. }
  83.  
  84.  
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement