Compare commits

...

12 Commits

Author SHA1 Message Date
fc6a693f1c Merge remote-tracking branch 'origin/master'
# Conflicts:
#	local/modules/CustomerVatNumber/EventListeners/CustomerVatNumberEventListener.php
2023-07-27 11:28:47 +02:00
5c60156159 [27/07/2023] On ajoute les n° de TVA de Chypre dans la RegEx 2023-07-27 11:28:29 +02:00
a3ec855338 [27/07/2023] On ajoute les n° de TVA de Chypre dans la RegEx 2023-07-27 08:52:57 +02:00
4721e50d2b [22/05/2023] Pour ne pas envoyer les emails de confirmation d'envoi, pour le smodules Chorno, MR et Colissimo (en attendant de résoudre le souci de mauvais email qui part) 2023-05-22 18:11:46 +02:00
b7877511d6 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	local/modules/ColissimoWs/templates/email/default2020/order_shipped.html
2023-04-15 11:33:15 +02:00
0355f9f001 [15/04/2023] Pb d'emails de livraison : correction du mauvais IS_SENT récupéré 2023-04-15 11:32:17 +02:00
95acc6902e [15/04/2023] Pb d'emails de livraison : correction du mauvais IS_SENT récupéré 2023-04-15 11:18:01 +02:00
79b3abb560 [15/04/2023] Pb d'emails de livraison : correction du mauvais IS_SENT récupéré 2023-04-15 10:58:20 +02:00
db436c40bc [15/04/2023] Problèmes d'emails à la livraison : duplication du default en default2020 pour Chrono 2023-04-15 10:26:34 +02:00
82b58309e9 Merge remote-tracking branch 'origin/master' 2023-04-03 20:54:02 +02:00
d96a470734 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	local/modules/MondialRelay/templates/email/default2020/mondial-relay-tracking-message.html
#	local/modules/MondialRelay/templates/email/default2020/mondial-relay-tracking-message.txt
2023-03-31 11:51:59 +02:00
0877b786e7 [31/03/2023] Modifs messages email pour MondialRelay 2023-03-31 11:50:41 +02:00
20 changed files with 656 additions and 37 deletions

View File

@@ -49,6 +49,9 @@ class ShippingNotificationSender extends BaseAction implements EventSubscriberI
if ($event->getOrder()->isSent() && (
$event->getOrder()->getDeliveryModuleId() == ModuleQuery::create()->findOneByCode('ChronopostHomeDelivery')->getId())) {
/* TheCoreDev le 22/05/2023 : ajouté en attendant de résoudre le problème des emails qui partent même si la commande utilise un autre mode de livraison*/
return;
$contactEmail = ConfigQuery::getStoreEmail();
if ($contactEmail) {

View File

@@ -25,7 +25,7 @@
{/loop}
<p>{intl l="We are pleased to inform you that your order number"} {$order_ref} {intl l="has been shipped on"} {format_date date=$update_date output="date"} {intl l="with the tracking number"} <strong>{$package}</strong>.</p>
<p>{intl l="We are pleased to inform you that your order number"} {$order_ref} {intl l="has been shipped on"} {format_date date=$update_date output="date"} {intl l="with the tracking number"} <strong>{$package}</strong>.</p>
<p>{intl l='<a href="https://www.chronopost.fr/tracking-no-cms/suivi-page?listeNumerosLT=%package">Click here</a> to track your shipment.' package=$package}</p>
<p>{intl l='Thank you for your shopping with us and hope to see you soon on <a href="#">www.yourshop.com</a>'}</p>

View File

@@ -0,0 +1,34 @@
{extends file="email-layout.tpl"}
{* Do not provide a "Open in browser" link *}
{block name="browser"}{/block}
{* No pre-header *}
{block name="pre-header"}{/block}
{* Subject *}
{block name="email-subject"}{intl l="Your order confirmation Nº %ref" ref={$order_ref}}{/block}
{* Title *}
{block name="email-title"}{/block}
{* Content *}
{block name="email-content"}
{loop type="customer" name="customer.politesse" id={$customer_id} current="0"}
{assign var="customerRef" value=$REF}
<p>{if {$TITLE} == 9}{intl l="Dear Mr. "}
{else}{intl l="Dear Ms. "}
{/if}
{$FIRSTNAME} {$LASTNAME},
</p>
{/loop}
<p>{intl l="We are pleased to inform you that your order number"} {$order_ref} {intl l="has been shipped on"} {format_date date=$update_date output="date"} {intl l="with the tracking number"} <strong>{$package}</strong>.</p>
<p>{intl l='<a href="https://www.chronopost.fr/tracking-no-cms/suivi-page?listeNumerosLT=%package">Click here</a> to track your shipment.' package=$package}</p>
<p>{intl l='Thank you for your shopping with us and hope to see you soon on <a href="#">www.yourshop.com</a>'}</p>
<p>{intl l="Your on-line store Manager"}<br/>
{intl l="Your shop"}</p>
{/block}

View File

@@ -0,0 +1 @@
{intl l="Please display this message in HTML"}

View File

@@ -57,6 +57,10 @@ class ShippingNotificationSender extends BaseAction implements EventSubscriberIn
$module = new ColissimoWs();
if ($event->getOrder()->isSent() && $order->getDeliveryModuleId() == $module->getModuleModel()->getId()) {
/* TheCoreDev le 22/05/2023 : ajouté en attendant de résoudre le problème des emails qui partent même si la commande utilise un autre mode de livraison*/
return;
$contact_email = ConfigQuery::getStoreEmail();
if ($contact_email) {

View File

@@ -1,7 +1,7 @@
<?php
return array(
'<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Click here</a> to track your shipment. You can also enter the tracking number on <a href="https://www.laposte.fr/outils/suivre-vos-envois">https://www.laposte.fr/outils/suivre-vos-envois</a>' => '<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Cliquez ici</a> pour suivre l\'acheminement. Vous pouvez aussi entrer le numéro de suivi sur <a href="https://www.laposte.fr/outils/suivre-vos-envois">https://www.laposte.fr/outils/suivre-vos-envois</a>',
'<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Click here</a> to track your shipment. You can also enter the tracking number on <a href="https://www.colissimo.fr/portail_colissimo">https://www.colissimo.fr/portail_colissimo</a>' => '<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Cliquez ici</a> pour suivre l\'acheminement. Vous pouvez aussi entrer le numéro de suivi sur <a href="https://www.colissimo.fr/portail_colissimo">https://www.colissimo.fr/portail_colissimo</a>',
'Dear Mr. ' => 'Cher Mr',
'Dear Ms. ' => 'Cher Mme',
'Please display this message in HTML' => 'Afficher ce message en HTML',

View File

@@ -1,11 +1,11 @@
<?php
return array(
'<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Click here</a> to track your shipment. You can also enter the tracking number on <a href="https://www.laposte.fr/outils/suivre-vos-envois">https://www.laposte.fr/outils/suivre-vos-envois</a>' => '<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Cliquez ici</a> pour suivre l\'acheminement. Vous pouvez aussi entrer le numéro de suivi sur <a href="https://www.laposte.fr/outils/suivre-vos-envois">https://www.laposte.fr/outils/suivre-vos-envois</a>',
'<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Click here</a> to track your shipment. You can also enter the tracking number on <a href="https://www.colissimo.fr/portail_colissimo">https://www.colissimo.fr/portail_colissimo</a>' => '<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Cliquez ici</a> pour suivre l\'acheminement. Vous pouvez aussi entrer le numéro de suivi sur <a href="https://www.colissimo.fr/portail_colissimo">https://www.colissimo.fr/portail_colissimo</a>',
'Dear Mr. ' => 'Cher Mr',
'Dear Ms. ' => 'Cher Mme',
'Please display this message in HTML' => 'Afficher ce message en HTML',
'Thank you for your shopping with us and hope to see you soon on <a href="#">www.yourshop.com</a>' => 'Nous vous remercions pour votre achat et espérons vous revoir très vite sur <a href="#">www.votreboutique.com</a>',
'Thank you for your shopping with us and hope to see you soon on <a href="https://www.light-domotique.fr">https://www.light-domotique.fr</a>' => 'Nous vous remercions pour votre achat et espérons vous revoir très vite sur <a href="https://www.light-domotique.fr">https://www.light-domotique.fr</a>',
'We are pleased to inform you that your order number' => 'Nous sommes heureux de vous informer que votre commande N°',
'Your on-line store Manager' => 'Nom de personne chargé de la communication',
'Your order confirmation Nº %ref' => 'Votre commande N° %ref',

View File

@@ -27,7 +27,7 @@
<p>{intl l="We are pleased to inform you that your order number"} {$order_ref} {intl l="has been shipped on"} {format_date date=$update_date output="date"} {intl l="with the tracking number"} <strong>{$package}</strong>.</p>
<p>{intl l='<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Click here</a> to track your shipment. You can also enter the tracking number on <a href="https://www.laposte.fr/outils/suivre-vos-envois">https://www.laposte.fr/outils/suivre-vos-envois</a>' package=$package}</p>
<p>{intl l='<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Click here</a> to track your shipment. You can also enter the tracking number on <a href="https://www.colissimo.fr/portail_colissimo">https://www.colissimo.fr/portail_colissimo</a>' package=$package}</p>
<p>{intl l='Thank you for your shopping with us and hope to see you soon on <a href="#">www.yourshop.com</a>'}</p>
<p>{intl l="Your on-line store Manager"}<br/>
{intl l="Your shop"}</p>

View File

@@ -27,8 +27,8 @@
<p>{intl l="We are pleased to inform you that your order number" d="colissimows.email.default2020"} {$order_ref} {intl l="has been shipped on" d="colissimows.email.default2020"} {format_date date=$update_date output="date"} {intl l="with the tracking number" d="colissimows.email.default2020"} <strong>{$package}</strong>.</p>
<p>{intl l='<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Click here</a> to track your shipment. You can also enter the tracking number on <a href="https://www.laposte.fr/outils/suivre-vos-envois">https://www.laposte.fr/outils/suivre-vos-envois</a>' d="colissimows.email.default2020" package=$package}</p>
<p>{intl l='Thank you for your shopping with us and hope to see you soon on <a href="#">https://www.light-domotique.fr</a>' d="colissimows.email.default2020"}</p>
<p>{intl l='<a href="https://www.colissimo.fr/portail_colissimo/suivreResultat.do?parcelnumber=%package">Click here</a> to track your shipment. You can also enter the tracking number on <a href="https://www.colissimo.fr/portail_colissimo">https://www.colissimo.fr/portail_colissimo</a>' d="colissimows.email.default2020" package=$package}</p>
<p>{intl l='Thank you for your shopping with us and hope to see you soon on <a href="https://www.light-domotique.fr">https://www.light-domotique.fr</a>' d="colissimows.email.default2020"}</p>
<!-- <p>{intl l="Your on-line store Manager" d="colissimows.email.default2020"}<br/>-->
<!-- {intl l="Your shop" d="colissimows.email.default2020"}</p>-->
{/block}

View File

@@ -100,7 +100,7 @@ class CustomerVatNumberEventListener implements EventSubscriberInterface
public function checkVatNumber($value, ExecutionContextInterface $context)
{
// @see https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch04s21.html
static $vatNumberRegexp = "/^((AT)?U[0-9]{8}|(BE)?0[0-9]{9}|(BG)?[0-9]{9,10}|(CY)?[0-9]{8}L|(CZ)?[0-9]{8,10}|(DE)?[0-9]{9}|(DK)?[0-9]{8}|(EE)?[0-9]{9}|(EL|GR)?[0-9]{9}|(ES)?[0-9A-Z][0-9]{7}[0-9A-Z]|(FI)?[0-9]{8}|(FR)?[0-9A-Z]{2}[0-9]{9}|(GB)?([0-9]{9}([0-9]{3})?|[A-Z]{2}[0-9]{3})|(HU)?[0-9]{8}|(IE)?[0-9]S[0-9]{5}L|(IT)?[0-9]{11}|(LT)?([0-9]{9}|[0-9]{12})|(LU)?[0-9]{8}|(LV)?[0-9]{11}|(MT)?[0-9]{8}|(NL)?[0-9]{9}B[0-9]{2}|(PL)?[0-9]{10}|(PT)?[0-9]{9}|(RO)?[0-9]{2,10}|(SE)?[0-9]{12}|(SI)?[0-9]{8}|(SK)?[0-9]{10})$/";
static $vatNumberRegexp = "/^((AT)?U[0-9]{8}|(BE)?0[0-9]{9}|(BG)?[0-9]{9,10}|(CY)?[0-9]{8}[A-Z]|(CZ)?[0-9]{8,10}|(DE)?[0-9]{9}|(DK)?[0-9]{8}|(EE)?[0-9]{9}|(EL|GR)?[0-9]{9}|(ES)?[0-9A-Z][0-9]{7}[0-9A-Z]|(FI)?[0-9]{8}|(FR)?[0-9A-Z]{2}[0-9]{9}|(GB)?([0-9]{9}([0-9]{3})?|[A-Z]{2}[0-9]{3})|(HU)?[0-9]{8}|(IE)?[0-9]S[0-9]{5}L|(IT)?[0-9]{11}|(LT)?([0-9]{9}|[0-9]{12})|(LU)?[0-9]{8}|(LV)?[0-9]{11}|(MT)?[0-9]{8}|(NL)?[0-9]{9}B[0-9]{2}|(PL)?[0-9]{10}|(PT)?[0-9]{9}|(RO)?[0-9]{2,10}|(SE)?[0-9]{12}|(SI)?[0-9]{8}|(SK)?[0-9]{10})$/";
$value = preg_replace("/[^A-Z0-9]/", "", strtoupper($value));

View File

@@ -47,6 +47,9 @@ class SendDeliveryEmail implements EventSubscriberInterface
&&
$order->getDeliveryModuleId() == MondialRelay::getModuleId()
) {
/* TheCoreDev le 22/05/2023 : ajouté en attendant de résoudre le problème des emails qui partent même si la commande utilise un autre mode de livraison*/
return;
if (null !== $contactEmail = ConfigQuery::read('store_email')) {
$this->mailer->sendEmailToCustomer(
MondialRelay::TRACKING_MESSAGE_NAME,

View File

@@ -12,4 +12,4 @@ return array(
'Your %ref order has been shipped' => 'Votre commande %ref a été expédiée.',
'Your order %order_ref has just been shipped from our store. The tracking number for this order is %tracking_ref. Please <a href="https://www.mondialrelay.fr/suivi-de-colis">click here</a> to track the delivery.' => 'Votre commande %order_ref vient de quitter nos entrepôts. Le numéro de suivi est %tracking_ref. <a href="https://www.mondialrelay.fr/suivi-de-colis">Merci de cliquer ici</a> pour obtenir les informations de suivi.',
'Your order %order_ref has just been shipped from our store. The tracking number for this order is %tracking_ref. Tracking data is available at this address: https://www.mondialrelay.fr/suivi-de-colis' => 'Votre commande %order_ref vient de quitter nos entrepôts. Le numéro de suivi est %tracking_ref. Pour obtenir des informations sur l\'avancement de votre commande, merci de suivre ce lien: https://www.mondialrelay.fr/suivi-de-colis',
);
);

View File

@@ -16,13 +16,13 @@
{* Content *}
{block name="email-content"}
{loop type="order" name="order" id=$order_id}
{loop type="customer" name="customer.order" current=false id=$CUSTOMER backend_context="1"}
<p>{intl l="Dear %first %last" last=$LASTNAME first=$FIRSTNAME},</p>
{/loop}
<p>{intl l="Your order %order_ref has just been shipped from our store. The tracking number for this order is %tracking_ref. Please <a href=\"https://www.mondialrelay.fr/suivi-de-colis\">click here</a> to track the delivery." order_ref=$REF tracking_ref=$DELIVERY_REF}</p>
<p>{intl l="Details about this order are available <a href=\"%account_url\">in your customer account</a>." account_url={url path="/account"}}</p>
<p>{intl l="See you soon at <a href=\"%url\">%store</a>" url={navigate to='index'} store={config key="store_name"}}</p>
<p>{intl l="The %store team." store={config key="store_name"}}</p>
{loop type="customer" name="customer.order" current=false id=$CUSTOMER backend_context="1"}
<p>{intl l="Dear %first %last" last=$LASTNAME first=$FIRSTNAME},</p>
{/loop}
{/block}
<p>{intl l="Your order %order_ref has just been shipped from our store. The tracking number for this order is %tracking_ref. Please <a href=\"https://www.mondialrelay.fr/suivi-de-colis\">click here</a> to track the delivery." order_ref=$REF tracking_ref=$DELIVERY_REF}</p>
<p>{intl l="Details about this order are available <a href=\"%account_url\">in your customer account</a>." account_url={url path="/account"}}</p>
<p>{intl l="See you soon at <a href=\"%url\">%store</a>" url={navigate to='index'} store={config key="store_name"}}</p>
<p>{intl l="The %store team." store={config key="store_name"}}</p>
{/loop}
{/block}

View File

@@ -8,4 +8,4 @@
{intl l="Details about this order are available in your customer account: %account_url." account_url={url path="/account"}}<br>
{intl l="See you soon at %store at the following address: %url" url={navigate to='index'} store={config key="store_name"}}<br>
{intl l="The %store team." store={config key="store_name"}}
{/loop}
{/loop}

View File

@@ -1,6 +1,6 @@
{extends file="email-layout.tpl"}
{default_translation_domain domain='mondialrelay.email.default'}
{default_translation_domain domain='mondialrelay.email.default2020'}
{* Do not provide a "Open in browser" link *}
{block name="browser"}{/block}
@@ -15,15 +15,14 @@
{* Content *}
{block name="email-content"}
{loop type="order" name="order" id=$order_id customer="*" backend_context=true}
{loop type="customer" name="customer.order" current=false id=$CUSTOMER backend_context="1"}
<p>{intl l="Dear %first %last" last=$LASTNAME first=$FIRSTNAME},</p>
{/loop}
{loop type="order" name="order" customer="*" id=$order_id backend_context=true}
{loop type="customer" name="customer.order" current=false id=$CUSTOMER backend_context="1"}
<p>{intl l="Dear %first %last" last=$LASTNAME first=$FIRSTNAME},</p>
<p>{intl l="Your order %order_ref has just been shipped from our store. The tracking number for this order is %tracking_ref. Please <a href=\"https://www.mondialrelay.fr/suivi-de-colis\">click here</a> to track the delivery." order_ref=$REF tracking_ref=$DELIVERY_REF}</p>
<p>{intl l="Details about this order are available <a href=\"%account_url\">in your customer account</a>." account_url={url path="/account"}}</p>
<p>{intl l="See you soon at <a href=\"%url\">%store</a>" url={navigate to='index'} store={config key="store_name"}}</p>
<p>{intl l="The %store team." store={config key="store_name"}}</p>
{/loop}
<p>{intl l="Your order %order_ref has just been shipped from our store. The tracking number for this order is %tracking_ref. Please <a href=\"https://www.mondialrelay.fr/suivi-de-colis\">click here</a> to track the delivery." order_ref=$REF tracking_ref=$DELIVERY_REF}</p>
<p>{intl l="Details about this order are available <a href=\"%account_url\">in your customer account</a>." account_url={url path="/account"}}</p>
<p>{intl l="See you soon at <a href=\"%url\">%store</a>" url={navigate to='index'} store={config key="store_name"}}</p>
<p>{intl l="The %store team." store={config key="store_name"}}</p>
{/loop}
{/block}
{/block}

View File

@@ -1,6 +1,10 @@
{default_translation_domain domain='mondialrelay.email.default'}
{default_locale locale={$locale}}
<<<<<<< HEAD
{loop type="order" name="order" id=$order_id}
=======
{loop type="order" name="order" customer="*" id=$order_id}
>>>>>>> origin/master
{loop type="customer" name="customer.order" current=false id=$CUSTOMER backend_context="1"}
{intl l="Dear %first %last" last=$LASTNAME first=$FIRSTNAME},<br>
{/loop}
@@ -8,4 +12,8 @@
{intl l="Details about this order are available in your customer account: %account_url." account_url={url path="/account"}}<br>
{intl l="See you soon at %store at the following address: %url" url={navigate to='index'} store={config key="store_name"}}<br>
{intl l="The %store team." store={config key="store_name"}}
<<<<<<< HEAD
{/loop}
=======
{/loop}
>>>>>>> origin/master

View File

@@ -46,7 +46,9 @@ class OrderStatusListener implements EventSubscriberInterface
if (null !== $is_order_status_to_notify) {
$delivery_module = $order->getModuleRelatedByDeliveryModuleId()->getCode();
$new_status_is_sent = false;
if ($order_status_code === OrderStatus::CODE_SENT) {
$new_status_is_sent = true;
switch ($delivery_module) {
case "MondialRelay":
$delivery_link = 'https://www.mondialrelay.fr/suivi-de-colis/' . $order->getDeliveryRef();
@@ -76,6 +78,7 @@ class OrderStatusListener implements EventSubscriberInterface
'order_id' => $order->getId(),
'order_ref' => $order->getRef(),
'new_status' => $new_statut_label,
'new_status_is_sent' => $new_status_is_sent,
'delivery_link'=> $delivery_link
]
);

View File

@@ -504,11 +504,11 @@
<td align="center" valign="top" style="padding-bottom: 40px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="10" cellspacing="0" width="100%" class="bodyContentBlock" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #FFFFFF;border-top: 0;border-bottom: 1px solid #E5E5E5;border-collapse: collapse !important;">
{block name="image-header"}
{* <tr>*}
{* <td class="bodyContent" style="padding-bottom: 20px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #505050;font-family: Helvetica;font-size: 16px;line-height: 150%;padding-top: 20px;text-align: left;border-collapse: collapse !important;">*}
{* <img class="bodyImage" src="{image file='assets/img/header.jpg'}" alt="" border="0" style="border: 0px none;border-color: ;border-style: none;border-width: 0px;height: 188px;width: 580px;margin: 0;padding: 0;line-height: 100%;outline: none;text-decoration: none;display: inline;max-width: 600px;" width="580" height="188">*}
{* </td>*}
{* </tr>*}
<tr>
<td class="bodyContent" style="padding-bottom: 20px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #505050;font-family: Helvetica;font-size: 16px;line-height: 150%;padding-top: 20px;text-align: left;border-collapse: collapse !important;">
<img class="bodyImage" src="{image file='assets/img/header.jpg'}" alt="" border="0" style="border: 0px none;border-color: ;border-style: none;border-width: 0px;height: 188px;width: 580px;margin: 0;padding: 0;line-height: 100%;outline: none;text-decoration: none;display: none;max-width: 600px;" width="580" height="188">
</td>
</tr>
{/block}
<tr>
<td valign="top" class="bodyContent" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #505050;font-family: Helvetica;font-size: 14px;line-height: 150%;padding-top: 0px;padding-bottom: 20px;text-align: left;border-collapse: collapse !important;">

View File

@@ -0,0 +1,563 @@
{default_translation_domain domain='email.default2020'}
{default_locale locale={$locale}}
{declare_assets directory='assets'}
{assign var="url_site" value="{config key="url_site"}"}
{assign var="company_name" value="{config key="store_name"}"}
{if not $company_name}
{assign var="company_name" value="{intl l='Thelia V2'}"}
{/if}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{block name="email-subject"}{/block}</title>
<style type="text/css">
{
literal
}
#outlook a {
padding: 0;
}
.ReadMsgBody {
width: 100%;
}
.ExternalClass {
width: 100%;
}
.yshortcuts,
a .yshortcuts,
a .yshortcuts:hover,
a .yshortcuts:active,
a .yshortcuts:focus {
background-color: transparent !important;
border: none !important;
color: inherit !important;
}
body {
margin: 0;
padding: 0;
}
img {
border: 0;
height: auto;
line-height: 100%;
outline: none;
text-decoration: none;
}
table,
td {
border-collapse: collapse !important;
mso-table-lspace: 0pt;
mso-table-rspace: 0pt;
}
#bodyTable,
#bodyCell {
height: 100% !important;
margin: 0;
padding: 0;
width: 100% !important;
}
#bodyCell {
padding: 20px;
}
.templateContainer {
width: 600px;
}
h1 {
color: #202020;
display: block;
font-family: Helvetica;
font-size: 26px;
font-style: normal;
font-weight: bold;
line-height: 100%;
letter-spacing: normal;
margin-top: 0;
margin-right: 0;
margin-bottom: 10px;
margin-left: 0;
text-align: left;
}
h2 {
color: #404040;
display: block;
font-family: Helvetica;
font-size: 20px;
font-style: normal;
font-weight: bold;
line-height: 100%;
letter-spacing: normal;
margin-top: 0;
margin-right: 0;
margin-bottom: 10px;
margin-left: 0;
text-align: left;
}
h3 {
color: #606060;
display: block;
font-family: Helvetica;
font-size: 16px;
font-style: normal;
font-weight: bold;
line-height: 100%;
letter-spacing: normal;
margin-top: 0;
margin-right: 0;
margin-bottom: 10px;
margin-left: 0;
text-align: left;
}
h4 {
color: #808080;
display: block;
font-family: Helvetica;
font-size: 12px;
font-style: normal;
font-weight: bold;
line-height: 100%;
letter-spacing: normal;
margin-top: 0;
margin-right: 0;
margin-bottom: 10px;
margin-left: 0;
text-align: left;
}
#templatePreheader {
background-color: #f5f5f5;
border-top: 10px solid #f5f5f5;
border-bottom: 0;
}
.preheaderContent {
color: #707070;
font-family: Helvetica;
font-size: 10px;
line-height: 125%;
padding-top: 10px;
padding-bottom: 10px;
text-align: left;
}
.preheaderContent a:link,
.preheaderContent a:visited,
.preheaderContent a .yshortcuts {
color: #FFFFFF;
font-weight: normal;
text-decoration: underline;
}
#templateHeader {
background-color: #FFFFFF;
border-top: 10px solid #f5f5f5;
border-bottom: 0;
}
.headerContent {
color: #202020;
font-family: Helvetica;
font-size: 20px;
font-weight: bold;
line-height: 100%;
padding-top: 40px;
padding-right: 0;
padding-bottom: 20px;
padding-left: 0;
text-align: left;
vertical-align: middle;
}
.headerContent a:link,
.headerContent a:visited,
.headerContent a .yshortcuts {
color: #E1523D;
font-weight: normal;
text-decoration: underline;
}
#templateBody {
background-color: #FFFFFF;
border-top: 0;
border-bottom: 0;
}
.titleContentBlock {
background-color: #ffffff;
border-top: 0px solid #F47766;
border-bottom: 0px solid #B14031;
}
.titleContent {
color: #7a7a7a;
font-family: Arial;
font-size: 24px;
font-weight: normal;
line-height: 110%;
padding-top: 5px;
padding-bottom: 5px;
text-align: left;
}
.bodyContentBlock {
background-color: #FFFFFF;
border-top: 0;
border-bottom: 1px solid #E5E5E5;
}
.bodyContent {
color: #505050;
font-family: Helvetica;
font-size: 16px;
line-height: 150%;
padding-top: 20px;
padding-bottom: 20px;
text-align: left;
}
.bodyContent a:link,
.bodyContent a:visited,
.bodyContent a .yshortcuts {
color: #E1523D;
font-weight: normal;
text-decoration: underline;
}
.templateButton {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
background-color: #f49a17;
border: 0;
border-radius: 5px;
}
.templateButtonContent,
.templateButtonContent a:link,
.templateButtonContent a:visited,
.templateButtonContent a .yshortcuts {
color: #FFFFFF;
font-family: Helvetica;
font-size: 15px;
font-weight: bold;
letter-spacing: -.5px;
line-height: 100%;
text-align: center;
text-decoration: none;
}
.bodyContent img {
display: inline;
height: auto;
max-width: 600px;
}
body,
#bodyTable {
background-color: #444444;
}
#templateFooter {
border-top: 0;
}
.footerContent {
color: #808080;
font-family: Helvetica;
font-size: 10px;
line-height: 150%;
padding-top: 20px;
text-align: left;
}
.footerContent a:link,
.footerContent a:visited,
.footerContent a .yshortcuts {
color: #606060;
font-weight: normal;
text-decoration: underline;
}
.footerContent img {
display: inline;
max-width: 600px;
}
@media only screen and (max-width: 480px) {
body,
table,
td,
p,
a,
li,
blockquote {
-webkit-text-size-adjust: none !important;
}
body {
width: auto !important;
}
table[class=templateContainer] {
width: 100% !important;
}
table[class=templateContainer] {
max-width: 600px !important;
width: 100% !important;
}
h1 {
font-size: 24px !important;
line-height: 100% !important;
}
h2 {
font-size: 20px !important;
line-height: 100% !important;
}
h3 {
font-size: 18px !important;
line-height: 100% !important;
}
h4 {
font-size: 16px !important;
line-height: 100% !important;
}
table[id=templatePreheader] {
display: none !important;
}
img[id=headerImage] {
height: auto !important;
max-width: 233px !important;
width: 100% !important;
}
td[class=headerContent] {
font-size: 20px !important;
line-height: 150% !important;
padding-top: 40px !important;
padding-right: 10px !important;
padding-bottom: 20px !important;
padding-left: 10px !important;
}
img[class=bodyImage] {
height: auto !important;
max-width: 580px !important;
width: 100% !important;
}
td[class=titleContent] {
font-size: 20px !important;
line-height: 125% !important;
padding-right: 10px;
padding-left: 10px;
}
td[class=bodyContent] {
font-size: 16px !important;
line-height: 125% !important;
padding-right: 10px;
padding-left: 10px;
}
td[class=footerContent] {
font-size: 14px !important;
line-height: 150% !important;
padding-right: 10px;
padding-left: 10px;
}
td[class=footerContent] a {
display: block !important;
}
}
.preheaderContent a:link,
.preheaderContent a:visited,
.preheaderContent a .yshortcuts {
color: #f49a17;
}
.footerContent a:link,
.footerContent a:visited,
.footerContent a .yshortcuts {
color: #ffffff;
}
.bodyContent a:link,
.bodyContent a:visited,
.bodyContent a .yshortcuts {
color: #f49a17;
text-decoration: none;
font-weight: normal;
}
.templateButtonContent,
.templateButtonContent a:link,
.templateButtonContent a:visited,
.templateButtonContent a .yshortcuts {
font-weight: normal;
}
{
/literal
}
</style>
{hook name="email-html.layout.css"}
</head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" style="margin: 0;padding: 0;background-color: #444444;">
<center>
<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;margin: 0;padding: 0;background-color: #444444;border-collapse: collapse !important;height: 100% !important;width: 100% !important;">
<tr>
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
{block name="pre-header"}
<tr>
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templatePreheader" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #f5f5f5;border-top: 10px solid #f5f5f5;border-bottom: 0;border-collapse: collapse !important;">
<tr>
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="0" cellspacing="0" class="templateContainer" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;width: 600px;border-collapse: collapse !important;">
<tr>
<td valign="top" class="preheaderContent" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #707070;font-family: Helvetica;font-size: 10px;line-height: 125%;padding-top: 10px;padding-bottom: 10px;text-align: left;border-collapse: collapse !important;">
{block name="email-intro"}{/block}
</td>
<td valign="top" class="preheaderContent" style="padding-left: 20px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #707070;font-family: Helvetica;font-size: 10px;line-height: 125%;padding-top: 10px;padding-bottom: 10px;text-align: left;border-collapse: collapse !important;" width="200">
{block name="browser"}{intl l="Email not displaying correctly?"}<br><a href="{config key=" url_site"}?view=email/register" target="_blank" style="color: #f49a17;font-weight: normal;text-decoration: underline;">{intl l="View it in your browser"}</a>.{/block}
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
{/block}
{block name="logo-header"}
<tr>
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateHeader" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #FFFFFF;border-top: 10px solid #f5f5f5;border-bottom: 0;border-collapse: collapse !important;">
<tr>
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="0" cellspacing="0" class="templateContainer" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;width: 600px;border-collapse: collapse !important;">
<tr>
<td class="headerContent" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #202020;font-family: Helvetica;font-size: 20px;font-weight: bold;line-height: 100%;padding-top: 40px;padding-right: 0;padding-bottom: 20px;padding-left: 0;text-align: left;vertical-align: middle;border-collapse: collapse !important;">
{$image = {image file='assets/img/logo.png' failsafe=true}}
{if $image == null}
{$image = {image file='assets/img/logo.gif' failsafe=true}}
{/if}
<img src="{$image}" alt="{$company_name}" border="0" style="border: 0px none;border-color: ;border-style: none;border-width: 0px;width: 346px;height: 110px;margin: 0;padding: 0;line-height: 100%;outline: none;text-decoration: none;" width="346" height="110">
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
{/block}
<tr>
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateBody" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #FFFFFF;border-top: 0;border-bottom: 0;border-collapse: collapse !important;">
<tr>
<td align="center" valign="top" style="padding-top: 20px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="0" cellspacing="0" class="templateContainer" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;width: 600px;border-collapse: collapse !important;">
<tr>
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="10" cellspacing="0" width="100%" class="titleContentBlock" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #ffffff;border-top: 0px solid #F47766;border-bottom: 0px solid #B14031;border-collapse: collapse !important;">
<tr>
<td valign="top" class="titleContent" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #7a7a7a;font-family: Arial;font-size: 24px;font-weight: normal;line-height: 110%;padding-top: 5px;padding-bottom: 5px;text-align: left;border-collapse: collapse !important;">
{block name="email-title"}{/block}
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top" style="padding-bottom: 40px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="10" cellspacing="0" width="100%" class="bodyContentBlock" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;background-color: #FFFFFF;border-top: 0;border-bottom: 1px solid #E5E5E5;border-collapse: collapse !important;">
{block name="image-header"}
<tr>
<td class="bodyContent" style="padding-bottom: 20px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #505050;font-family: Helvetica;font-size: 16px;line-height: 150%;padding-top: 20px;text-align: left;border-collapse: collapse !important;">
<img class="bodyImage" src="{image file='assets/img/header.jpg'}" alt="" border="0" style="border: 0px none;border-color: ;border-style: none;border-width: 0px;height: 188px;width: 580px;margin: 0;padding: 0;line-height: 100%;outline: none;text-decoration: none;display: none;max-width: 600px;" width="580" height="188">
</td>
</tr>
{/block}
<tr>
<td valign="top" class="bodyContent" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #505050;font-family: Helvetica;font-size: 14px;line-height: 150%;padding-top: 0px;padding-bottom: 20px;text-align: left;border-collapse: collapse !important;">
{block name="email-content"}{/block}
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateFooter" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-top: 0;border-collapse: collapse !important;">
<tr>
<td align="center" valign="top" style="padding-bottom: 40px;mso-table-lspace: 0pt;mso-table-rspace: 0pt;border-collapse: collapse !important;">
{hook name="email-html.layout.footer"}
{elsehook rel="email-html.layout.footer"}
<table border="0" cellpadding="0" cellspacing="0" class="templateContainer" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;width: 600px;border-collapse: collapse !important;">
<tr>
<td valign="top" class="footerContent" style="mso-table-lspace: 0pt;mso-table-rspace: 0pt;color: #808080;font-family: Helvetica;font-size: 10px;line-height: 150%;padding-top: 20px;text-align: left;border-collapse: collapse !important;">
<strong>{intl l="Our mailing address is:"}</strong>
<br>
{config key="store_address1"} {config key="store_address2"} {config key="store_address3"}<br>
{config key="store_zipcode"} {config key="store_city"},
{if {config key="store_country"} }
{loop type="country" name="address.country.title" id={config key="store_country"}}, {$TITLE}{/loop}
{/if}
<br>
<br>
<em>{intl l="Copyright"} &copy; {'Y'|date} {$company_name}, {intl l="All rights reserved."}</em>
</td>
</tr>
</table>
{/elsehook}
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</body>
</html>

View File

@@ -36,7 +36,8 @@
{* Content *}
{block name="email-content"}
{loop name="order.invoice" type="order" id=$order_id customer="*"}
{loop name="order.invoice" type="order" id=$order_id customer="*" backend_context=true}
{loop name="currency.order" type="currency" id=$CURRENCY}
{assign var="orderCurrencyIsoCode" value=$ISOCODE}
{/loop}
@@ -74,7 +75,7 @@
{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 />
{if $IS_SENT}
{if $new_status_is_sent}
{intl l="Follow your order here:" d="orderstatusnotify"} <strong>{intl l="Delivery link" d="orderstatusnotify" link={$delivery_link}}</strong><br />
{/if}
</p>