在我的symfony项目中,我想在我的资源文件夹中添加多个邮件模板。
文件路径模式:
app/Resources/translations/emails/[LOCALE]/[mail-type].html.twig
我有我的装载机,名为MailLoader
女巫装载():
public function load($resource, $locale, $domain = 'messages')
{
$messages = [];
$label = strstr(basename($resource), '.', true);
$messages[$label] = file_get_contents($resource);
$catalogue = new MessageCatalogue($locale);
$catalogue->add($messages, $domain);
return $catalogue;
}
我想使用$translator->trans('mail-type');
来获取文件的区域设置内容的具体内容。
当我这样做时,这是有效的:
$translator = new Translator('pl');
$translator->addLoader('mails', new MailLoader());
$finder = new Finder();
$finder->files()->in(__DIR__ . '/../Resources/views/email/pl');//->name('*.html.twig');
foreach ($finder as $file) {
$translator->addResource('mails', $file->getPath() . '/' . $file->getFilename(), 'pl');
}
echo $translator->trans('order-closed');//Returns file content.
但我想在容器中扩展Symfony Translator,以便在我需要的任何地方使用它。怎么做?
拜托,我这么长时间工作。这是我对这个Symfony组件的第一次工作......这让我发疯了! >:d