本文整理汇总了PHP中Magento\Sales\Model\Order\Invoice::setSendEmail方法的典型用法代码示例。如果您正苦于以下问题:PHP Invoice::setSendEmail方法的具体用法?PHP Invoice::setSendEmail怎么用?PHP Invoice::setSendEmail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Sales\Model\Order\Invoice
的用法示例。
在下文中一共展示了Invoice::setSendEmail方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send
/**
* Sends order invoice 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 Invoice $invoice
* @param bool $forceSyncMode
* @return bool
*/
public function send(Invoice $invoice, $forceSyncMode = false)
{
$invoice->setSendEmail(true);
if (!$this->globalConfig->getValue('sales_email/general/async_sending') || $forceSyncMode) {
$order = $invoice->getOrder();
$transport = ['order' => $order, 'invoice' => $invoice, 'comment' => $invoice->getCustomerNoteNotify() ? $invoice->getCustomerNote() : '', 'billing' => $order->getBillingAddress(), 'payment_html' => $this->getPaymentHtml($order), 'store' => $order->getStore(), 'formattedShippingAddress' => $this->getFormattedShippingAddress($order), 'formattedBillingAddress' => $this->getFormattedBillingAddress($order)];
$this->eventManager->dispatch('email_invoice_set_template_vars_before', ['sender' => $this, 'transport' => $transport]);
$this->templateContainer->setTemplateVars($transport);
if ($this->checkAndSend($order)) {
$invoice->setEmailSent(true);
$this->invoiceResource->saveAttribute($invoice, ['send_email', 'email_sent']);
return true;
}
}
$this->invoiceResource->saveAttribute($invoice, 'send_email');
return false;
}