本文整理汇总了PHP中Magento\Sales\Model\Order\Creditmemo::setEmailSent方法的典型用法代码示例。如果您正苦于以下问题:PHP Creditmemo::setEmailSent方法的具体用法?PHP Creditmemo::setEmailSent怎么用?PHP Creditmemo::setEmailSent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Sales\Model\Order\Creditmemo
的用法示例。
在下文中一共展示了Creditmemo::setEmailSent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send
/**
* Send email to customer
*
* @param Creditmemo $creditmemo
* @param bool $notify
* @param string $comment
* @return bool
*/
public function send(Creditmemo $creditmemo, $notify = true, $comment = '')
{
$order = $creditmemo->getOrder();
$this->templateContainer->setTemplateVars(['order' => $creditmemo->getOrder(), 'invoice' => $creditmemo, 'comment' => $comment, 'billing' => $order->getBillingAddress(), 'payment_html' => $this->getPaymentHtml($order), 'store' => $order->getStore()]);
$result = $this->checkAndSend($order, $notify);
if ($result) {
$creditmemo->setEmailSent(true);
$this->creditmemoResource->saveAttribute($creditmemo, 'email_sent');
}
return $result;
}
示例2: send
/**
* Sends order creditmemo email to the customer.
*
* Email will be sent immediately in two cases:
*
* - if asynchronous email sending is disabled in global settings
* - if $forceSyncMode parameter is set to TRUE
*
* Otherwise, email will be sent later during running of
* corresponding cron job.
*
* @param Creditmemo $creditmemo
* @param bool $forceSyncMode
* @return bool
*/
public function send(Creditmemo $creditmemo, $forceSyncMode = false)
{
$creditmemo->setSendEmail(true);
if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) {
$order = $creditmemo->getOrder();
if ($order->getShippingAddress()) {
$formattedShippingAddress = $this->addressRenderer->format($order->getShippingAddress(), 'html');
} else {
$formattedShippingAddress = '';
}
$formattedBillingAddress = $this->addressRenderer->format($order->getBillingAddress(), 'html');
$transport = new \Magento\Framework\Object(['template_vars' => ['order' => $order, 'creditmemo' => $creditmemo, 'comment' => $creditmemo->getCustomerNoteNotify() ? $creditmemo->getCustomerNote() : '', 'billing' => $order->getBillingAddress(), 'payment_html' => $this->getPaymentHtml($order), 'store' => $order->getStore(), 'formattedShippingAddress' => $formattedShippingAddress, 'formattedBillingAddress' => $formattedBillingAddress]]);
$this->eventManager->dispatch('email_creditmemo_set_template_vars_before', ['sender' => $this, 'transport' => $transport]);
$this->templateContainer->setTemplateVars($transport->getTemplateVars());
if ($this->checkAndSend($order)) {
$creditmemo->setEmailSent(true);
$this->creditmemoResource->saveAttribute($creditmemo, ['send_email', 'email_sent']);
return true;
}
}
$this->creditmemoResource->saveAttribute($creditmemo, 'send_email');
return false;
}