Cet article est assez ancien, malgré toute l'attention que j' apporte à mes contenus il est possible que celui-ci ne soit plus d'actualité.
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
Voici un code qui vous permettra de traduire un template dans l’ensemble des langues du site dans une seule fonction.
C’est pratique notamment pour l’envoi de contenus emails traduits.
Dans le snippet ci-dessous la langue du template sera basé sur le store_id de la commande
foreach ( $orders as $order ) { //Pour bien gérer la traduction on change le store en fonction de la commande Mage::app()->setCurrentStore($order->getStoreId()); //Changement de store $locale = Mage::getModel('core/locale')->getLocaleCode(); // Récupération de la locale du store Mage::app()->getTranslator()->setLocale($locale); // Définition de la locale pour la traduction Mage::app()->getTranslator()->init('frontend', true); //Réinitialisation du cache de traduction //Création du block qui sera traduit dans la langue du store et stockage de son contenu dans une variable $layout = Mage::getSingleton('core/layout'); $contenu = $layout->createBlock('core/block') ->setTemplate('order.phtml') ->setData('order',$order) ->toHtml(); ... } |