Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <type name="MagentoSalesModelOrderEmailSender">
- <plugin name="module_name::aroundPrepareTemplate" type="modulenameModelOrderEmailSender" sortOrder="99999"/>
- </type>
- <?php
- namespace modulenameModelOrderEmail;
- use MagentoSalesModelOrder;
- use MagentoSalesModelOrderEmailContainerIdentityInterface;
- use MagentoSalesModelOrderEmailContainerTemplate;
- use MagentoSalesModelOrderAddressRenderer;
- abstract class Sender
- {
- protected $senderBuilderFactory;
- protected $templateContainer;
- protected $identityContainer;
- protected $logger;
- protected $addressRenderer;
- public function __construct(
- Template $templateContainer,
- IdentityInterface $identityContainer,
- MagentoSalesModelOrderEmailSenderBuilderFactory $senderBuilderFactory,
- PsrLogLoggerInterface $logger,
- Renderer $addressRenderer
- ) {
- $this->templateContainer = $templateContainer;
- $this->identityContainer = $identityContainer;
- $this->senderBuilderFactory = $senderBuilderFactory;
- $this->logger = $logger;
- $this->addressRenderer = $addressRenderer;
- }
- public function aroundPrepareTemplate($subject,Order $order)
- {
- $this->templateContainer->setTemplateOptions($this->getTemplateOptions());
- $objectManager = MagentoFrameworkAppObjectManager::getInstance();
- $orderItems = $order->getAllItems();
- foreach ($orderItems as $item) {
- $product = $objectManager->get('MagentoCatalogModelProduct')->load($item->getProductId());
- $categoryIds = $product->getCategoryIds();
- }
- foreach($categoryIds as $catid){
- $_objectManager = MagentoFrameworkAppObjectManager::getInstance();
- $category = $_objectManager->create('MagentoCatalogModelCategory')
- ->load($catid);
- }
- if ($order->getCustomerIsGuest()) {
- $templateId = $this->identityContainer->getGuestTemplateId();
- $customerName = $order->getBillingAddress()->getName();
- } else {
- $templateId = $this->identityContainer->getTemplateId();
- $customerName = $order->getCustomerName();
- }
- if($catid == 461){
- $templateId = 11 ;
- }
- $this->identityContainer->setCustomerName($customerName);
- $this->identityContainer->setCustomerEmail($order->getCustomerEmail());
- $this->templateContainer->setTemplateId($templateId);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement