我使用十月的Mail
服务,看起来不错。但是,我无法在文档中看到它是否可以使用插件甚至主题创建新的Mail Layout
,我相信将布局存储在数据库中并不是最好的方法。这样做,特别是在开发具有邮件布局的自定义主题或带有邮件布局的插件时(这是我的情况)。
有没有办法通过代码从头开始创建自定义Mail Layouts
和Mail Partials
(无需使用后端)?
注意:我真的知道邮件模板和邮件(布局/部分)之间的区别,它通过后端与我合作,我只需要一种方法将它们与我的插件捆绑在一起。
答案 0 :(得分:1)
您可以使用插件迁移文件注册邮件布局,因为现在无法直接从插件配置文件注册它们。
如何插入布局 参考:https://github.com/octobercms/october/issues/2000
你可以为邮件部分做同样的事情。它的模型是 System \ Models \ MailPartial
\System\Models\MailPartial::create([
'is_custom' => true,
'name' => 'Default',
'code' => 'default',
'content_html' => $html,
'content_text' => $text,
]);
对于模板/视图,您可以将邮件模板放在插件的视图目录中的 mail 目录中。
参考:https://octobercms.com/docs/services/mail#mail-views
在邮件中,您可以使用迁移文件手动插入布局名称。并将其用作布局。
在 plugin.php 配置文件中注册邮件模板。
public function registerMailTemplates()
{
return [
'rainlab.user::mail.activate' => 'Activation mail sent to new users.',
'rainlab.user::mail.restore' => 'Password reset instructions for front-end users.'
];
}
<强>&#39; rainlab.user :: mail.activate&#39; =&GT; {plugin-name} :: {mail。&lt; template-name&gt;} 然后提供您的主题。
现在安装插件时,
您的所有布局和模板现在都在您的模板中,当您安装插件时,它也会注册您的布局和模板。
如有任何疑问请发表评论。