【问题标题】:Error 500 upon adding shipping_save_after observer on Magento 2在 Magento 2 上添加 shipping_save_after 观察者时出现错误 500
【发布时间】: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


    【解决方案1】:

    在上课前添加

    use Magento\Framework\Mail\Template\TransportBuilder 
    use Magento\Store\Model\StoreManagerInterface
    

    并检查 var 文件夹中的日志文件

    【讨论】:

      猜你喜欢
      • 2014-02-24
      • 1970-01-01
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 2014-07-25
      • 2011-03-10
      • 1970-01-01
      相关资源
      最近更新 更多