【发布时间】:2021-01-03 18:35:37
【问题描述】:
添加我的观察员后,我在尝试完成运输过程时收到错误 500。我想要实现的是,我想在发货完成后发送审查请求。我已经开始使用 Magento 大约一个月前,这就是为什么我不知道我是否在 Observer 上出错,events.xml或者它只是不起作用。我已经这样做了大约三天,请帮忙。
供应商名称:Lns
模块名称:ReviewRequest
评论.php
<?php
namespace Lns\ReviewRequest\Observer;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
class Review implements ObserverInterface
{
protected $transportBuilder;
protected $storeManager;
protected $logger;
public function __construct(
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
TransportBuilder $transportBuilder,
StoreManagerInterface $storeManager,
LoggerInterface $logger
) {
$this->transportBuilder = $transportBuilder;
$this->storeManager = $storeManager;
$this->logger = $logger;
}
/**
* Below is the method that will fire whenever the event runs!
*
* @param Observer $observer
*/
public function execute(Observer $observer)
{
$store = $this->storeManager->getStore();
$templateParams = ['store' => $store, 'customer' => $customer, 'administrator_name' => $receiverInfo['name']];
$transport = $this->transportBuilder
->setTemplateIdentifier('Entrelabel Add Review')
->setTemplateOptions(['area' => 'frontend', 'store' => $store->getId()])
->addTo($receiverInfo['email'], $receiverInfo['name'])
->setTemplateVars($templateParams)
->setFrom('general')
->getTransport();
try {
// Send an email
$transport->sendMessage();
} catch (\Exception $e) {
// Write a log message whenever get errors
$this->logger->critical($e->getMessage());
}
return var_dump($e);
}
}
Events.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="sales_order_shipment_save_after">
<observer name="reviewRequest" instance="Lns\ReviewRequest\Observer\Review" />
</event>
</config>
【问题讨论】:
标签: magento magento2 observers review shipping-method