Cómo aprobar automáticamente la revisión del producto para clientes registrados en Magento 2

Estás leyendo la publicación: Cómo aprobar automáticamente la revisión del producto para clientes registrados en Magento 2

espacio de nombres Meetanshi\CustomModule\Observer;

use Magento\Framework\Event\Observer;

use Magento\Framework\Event\ObserverInterface;

use Magento\Review\Model\Review;

clase ReviewApproveBefore implementa ObserverInterface

{

sesión privada de $cliente;

$solicitud privada;

privado $transportBuilder;

privado $storeManager;

función pública __construir(

\Magento\Cliente\Modelo\Sesión $sesióncliente,

\Magento\Framework\Aplicación\Solicitud\Http $solicitud,

\Magento\Framework\Correo\Plantilla\TransportBuilder $transportBuilder,

\Magento\Tienda\Modelo\StoreManagerInterface $storeManager

){

$this->customerSession = $customerSession;

$esta->solicitud = $solicitud;

$this->transportBuilder = $transportBuilder;

$this->storeManager = $storeManager;

}

función pública ejecutar (Observador $ observador)

{

if($this->customerSession->isLoggedIn()) {

$revisión = $observador->getDataByKey(‘objeto’);

$revisión->setStatusId(Revisión::ESTADO_APROBADO); // establece el estado de aprobación

intentar {

$tienda = $this->storeManager->getStore()->getId();

$transport = $this->transportBuilder->setTemplateIdentifier(‘meetanshi_review_template’) // obtener la identificación de plantilla de email_template.xml

->establecerOpcionesPlantilla([‘area’ => ‘frontend’, ‘store’ => $store])

->establecerVarsPlantilla(

[

                            ‘store’ => $this->storeManager->getStore(),

                            ‘var1’ => $this->customerSession->getCustomerData()->getFirstname(), //var1 variable used in review.html

                        ]

)

->establecerDesde(‘general’)

// puede configurar la dirección de correo electrónico general en Tienda -> Configuración -> General -> Direcciones de correo electrónico de la tienda

->addTo($this->customerSession->getCustomerData()->getEmail(), $this->customerSession->getCustomerData()->getFirstname())

->obtenerTransporte();

$transporte->enviarMensaje();

}atrapar (\Excepción $e){

}

}

}

}

🔥 Recomendado:  Cómo encontrar un nombre de dominio excelente y disponible para su sitio web