Bonjour,
En PHP, vous ne pouvez pas mettre de conditions directement au milieu de la création d'un array.
Ce que propose Philippe est possible, mais il faut l'extraire de la création de l'array.
Donc, par exemple, avec le code par défaut, vous pourriez ajoutez ce code:
if($data->mail_status == "cancelled") {
$texts['ORDER_BEGIN_MESSAGE'] = 'Your cancelled message';
$texts['ORDER_END_MESSAGE'] = 'Your cancelled message 2';
}
avant le code:
if(!empty($data->usermsg->usermsg)){
Et en effet, en l'état, le code ne serait pas multilingue. Mais vous pourriez simplement l'améliorer pour que ce soit le cas. Philippe a juste voulu fournir un exemple simple.
Par exemple, avec des clés de traductions:
if($data->mail_status == "cancelled") {
$texts['ORDER_BEGIN_MESSAGE'] = JText::_('CLE_DE_TRADUCTION_NUMERO_1');
$texts['ORDER_END_MESSAGE'] = JText::_('CLE_DE_TRADUCTION_NUMERO_2');
}
D'ailleurs, personnellement, je pense que vous auriez pu faire cela sans aucune connaissance en PHP. En effet, lorsque vous éditez l'email "order status notification", il y a un bouton "per status override", en haut de la zone "preload".
Ce bouton permet de changer le code uniquement pour un statut de commande particulier.
Donc vous pourriez faire un override du preload pour le status "cancelled", et dans le preload de la popup, vous pouvez juste changer les clés de traduction THANK_YOU_FOR_YOUR_ORDER_BEGIN et THANK_YOU_FOR_YOUR_ORDER par de nouvelles clés.
C'est bien plus simple ainsi.