1

我创建了一个模块,当客户选择特定的付款类型时,它会发送带有 pdf 附件的电子邮件。您可以在后端重新发送带有附件的电子邮件。自动发送的 pdf 被翻译成正确的商店默认语言。但是,当我手动重新发送带有 pdf 的电子邮件时,我无法弄清楚如何更改 pdf 的翻译语言。

我可以更改使用的电子邮件模板:

$local = Mage::getStoreConfig('general/locale/code', $storeId)
$emailTemplate->loadDefault('my_email_template', $local);

我试图更改本地代码:

Mage::app()->getLocale()->setLocaleCode($local);

本地代码更改,但未将其翻译成正确的语言。如何设置必须翻译的语言?

谢谢!

4

1 回答 1

5

尝试商店视图仿真。

您可以使用仿真包装需要翻译成另一种语言的代码。它看起来像这样:


$enulatedStore = Mage::getSingleton('core/app_emulation');
$inivitalEnvSettings = $emulatedStore->startEnvironmentEmulation($storeId);

//here goes your code. It's going to be run as if it was your store view

$emulatedStore->stopEnvironmentEmulation($inivitalEnvSettings);

模拟意味着您暂时切换商店视图。Magento 将加载其所有设置和配置和设计等。它非常方便,尤其是当您想在管理中呈现前端页面时。

于 2013-11-11T13:59:36.873 回答