OrderStatusNotify : finalisation du module
This commit is contained in:
@@ -9,7 +9,7 @@ use Thelia\Core\Event\Order\OrderEvent;
|
||||
use Thelia\Core\Event\TheliaEvents;
|
||||
use Thelia\Mailer\MailerFactory;
|
||||
use Thelia\Model\OrderStatusI18nQuery;
|
||||
use Thelia\Model\OrderStatusQuery;
|
||||
use Thelia\Log\Tlog;
|
||||
|
||||
/**
|
||||
* Class OrderStatusListener
|
||||
@@ -37,7 +37,6 @@ class OrderStatusListener implements EventSubscriberInterface
|
||||
$order = $event->getOrder();
|
||||
$new_status_id = $event->getStatus();
|
||||
|
||||
// Si la commande passe dans un statut pour lequel on doit avertir le client, alors on envoie un email au client en question.
|
||||
$is_order_status_to_notify = OrderStatusNotificationQuery::create()->findOneByOrderStatusId($new_status_id);
|
||||
if (null !== $is_order_status_to_notify) {
|
||||
$new_statut_label = OrderStatusI18nQuery::create()
|
||||
@@ -49,11 +48,12 @@ class OrderStatusListener implements EventSubscriberInterface
|
||||
OrderStatusNotify::MESSAGE_NAME,
|
||||
$order->getCustomer(),
|
||||
[
|
||||
'order_id' => $order->getId(),
|
||||
'order_ref' => $order->getRef(),
|
||||
'new_status' => $new_statut_label,
|
||||
]
|
||||
);
|
||||
//Tlog::getInstance()->debug("Order status change sent to customer " . $order->getCustomer()->getEmail());
|
||||
Tlog::getInstance()->debug("Order status change sent to customer " . $order->getCustomer()->getEmail());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
<?php
|
||||
return array(
|
||||
// 'an english string' => 'The displayed english string',
|
||||
'Order status notification' => 'Order\'s status change notification',
|
||||
'Home' => 'Home',
|
||||
'Tools' => 'Tools',
|
||||
'To notify' => 'Notify to customer',
|
||||
'Status' => 'Order status',
|
||||
'Status list' => 'Order status list',
|
||||
'Purpose of feature' => 'Please select order status you want to notify the customer : an email will be sent when the order will get to this status.',
|
||||
'Change on your order %ref on %store_name' => 'Change on your order %ref on %store_name',
|
||||
'Hello, your order has just changed to' => 'Hello, your order has just changed to status : ',
|
||||
);
|
||||
|
||||
@@ -7,4 +7,6 @@ return [
|
||||
'Status' => 'Statut de la commande',
|
||||
'Status list' => 'Liste des statuts de commande',
|
||||
'Purpose of feature' => 'Veuillez sélectionner les statuts de commande pour lesquels vous souhaitez notifier le client : dès que la commande passera dans ce statut, un email sera envoyé au client.',
|
||||
'Change on your order %ref on %store_name' => 'Evolution sur votre commande %ref sur le site %store_name',
|
||||
'Hello, your order has just changed to' => 'Bonjour, votre commande vient de passer à l\'état : ',
|
||||
];
|
||||
|
||||
114
templates/email/default/order_status_changed.html
Normal file
114
templates/email/default/order_status_changed.html
Normal file
@@ -0,0 +1,114 @@
|
||||
{extends file="email-layout.tpl"}
|
||||
|
||||
{* Do not provide a "Open in browser" link *}
|
||||
{block name="browser"}{/block}
|
||||
{* No big image header *}
|
||||
{block name="image-header"}{/block}
|
||||
{* No logo header *}
|
||||
{block name="logo-header"}{/block}
|
||||
{* No pre-header *}
|
||||
{block name="pre-header"}{/block}
|
||||
|
||||
{* Subject *}
|
||||
{block name="email-subject"}{intl d="orderstatusnotify" l="Change on your order %ref on %store_name" ref={$order_ref} store_name={config key="store_name"}}{/block}
|
||||
|
||||
{* Title *}
|
||||
{block name="email-title"}{intl d="orderstatusnotify" l="Hello, your order has just changed to"}<b>{$new_status}</b><br /><br />{/block}
|
||||
|
||||
{* Content *}
|
||||
{block name="email-content"}
|
||||
{loop name="order.invoice" type="order" id=$order_id customer="*"}
|
||||
{loop name="currency.order" type="currency" id=$CURRENCY}
|
||||
{assign var="orderCurrencyIsoCode" value=$ISOCODE}
|
||||
{/loop}
|
||||
|
||||
{loop type="customer" name="customer.invoice" id=$CUSTOMER current="0"}
|
||||
{assign var="customerRef" value=$REF}
|
||||
{/loop}
|
||||
|
||||
{hook name="email-html.order-notification.before-address" order=$order_id}
|
||||
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td valign="top" width="55%">
|
||||
<strong>{intl l="Customer delivery address:"}</strong><br>
|
||||
{ifhook rel="email-html.order-notification.delivery-address"}
|
||||
{* delivery module can customize the delivery address *}
|
||||
{hook name="email-html.order-notification.delivery-address" module={$DELIVERY_MODULE} order=$order_id}
|
||||
{/ifhook}
|
||||
{elsehook rel="email-html.order-notification.delivery-address"}
|
||||
{format_address order_address=$DELIVERY_ADDRESS locale=$locale}
|
||||
{/elsehook}
|
||||
</td>
|
||||
<td valign="top">
|
||||
<strong>{intl l="Customer billing address:"}</strong><br />
|
||||
{format_address order_address=$INVOICE_ADDRESS locale=$locale}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{hook name="email-html.order-notification.after-address" order=$order_id}
|
||||
|
||||
<p>
|
||||
{intl l="Order Total:"} {format_money number=$TOTAL_TAXED_AMOUNT currency_id=$CURRENCY}<br />
|
||||
{intl l="Order Number:"} {$REF}<br />
|
||||
{intl l="Paid With:"} {loop name="payment-module" type="module" id=$PAYMENT_MODULE}{$TITLE}{/loop}<br />
|
||||
{intl l="Purchase Date:"} {format_date date=$CREATE_DATE output="datetime"}<br />
|
||||
{intl l="Delivery method:"} {loop name="delivery-module" type="module" id=$DELIVERY_MODULE}{$TITLE}{/loop}<br />
|
||||
</p>
|
||||
|
||||
{hook name="email-html.order-notification.before-products" order=$order_id}
|
||||
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size:13px;line-height:2em">
|
||||
<tr style="color:#999;font-size:11px">
|
||||
<td style="color:#999;border-bottom:1px solid #000">{intl l="What You Purchased"}</td>
|
||||
<td align="right" style="color:#999;border-bottom:1px solid #000">{intl l="Price in"} {$orderCurrencyIsoCode}</td>
|
||||
</tr>
|
||||
{loop type="order_product" name="order-products" order=$ID}
|
||||
{if $WAS_IN_PROMO == 1}
|
||||
{assign "realPrice" $PROMO_PRICE}
|
||||
{assign "realTax" $PROMO_PRICE_TAX}
|
||||
{assign "realTaxedPrice" $TAXED_PROMO_PRICE}
|
||||
{else}
|
||||
{assign "realPrice" $PRICE}
|
||||
{assign "realTax" $PRICE_TAX}
|
||||
{assign "realTaxedPrice" $TAXED_PRICE}
|
||||
{/if}
|
||||
<tr>
|
||||
<td style="border-bottom:1px solid #000">
|
||||
<b>{$TITLE}</b> <i>({$REF})</i>
|
||||
{ifloop rel="combinations"}<br />
|
||||
{loop type="order_product_attribute_combination" name="combinations" order_product=$ID}
|
||||
<span style="color:#999;display:block;font-size:11px;line-height:1.2">* {$ATTRIBUTE_TITLE}: {$ATTRIBUTE_AVAILABILITY_TITLE}</span>
|
||||
{/loop}
|
||||
{/ifloop}
|
||||
</td>
|
||||
<td align="right" style="border-bottom:1px solid #000; white-space:nowrap">
|
||||
{$QUANTITY} x {format_money number=$realTaxedPrice currency_id=$CURRENCY}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{hook name="email-html.order-notification.order-product" order="{$order_id}" order_product="{$ID}"}
|
||||
|
||||
{/loop}
|
||||
<tr>
|
||||
<td align="right" style="text-align:right">{intl l="Total"}</td>
|
||||
<td align="right" style="text-align:right">{format_money number={$TOTAL_TAXED_AMOUNT - $POSTAGE} currency_id=$CURRENCY} </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" style="text-align:right">{intl l="Shipping:"}</td>
|
||||
<td align="right" style="text-align:right">{format_money number=$POSTAGE currency_id=$CURRENCY}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" style="text-align:right"><strong>{intl l="Order Total"}</strong></td>
|
||||
<td align="right" style="text-align:right"><strong>{format_money number=$TOTAL_TAXED_AMOUNT currency_id=$CURRENCY}</strong></td>
|
||||
</tr>
|
||||
</table>
|
||||
{/loop}
|
||||
|
||||
{hook name="email-html.order-notification.after-products" order=$order_id}
|
||||
|
||||
<br />
|
||||
|
||||
{intl l="Have a nice day."}<br />
|
||||
{/block}
|
||||
Reference in New Issue
Block a user