代码之家  ›  专栏  ›  技术社区  ›  Walid Ammar

10月CMS创建自定义邮件布局/邮件部分

  •  0
  • Walid Ammar  · 技术社区  · 7 年前

    我用的是十月的 Mail 服务,看起来不错。但是,如果可以创建新的 Mail Layout 对于插件甚至主题,我认为将布局存储在数据库中不是最好的方法,特别是在开发带有邮件布局的自定义主题或带有邮件布局的插件时(这是我的情况)。

    有没有办法创建自定义 Mail Layouts Mail Partials 通过代码从头开始(无需使用后端)?

    注意:我很清楚邮件模板和邮件(布局/部分)之间的区别,它通过后端工作,我只需要一种方法将它们与插件捆绑在一起。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Hardik Satasiya    7 年前

    您可以使用插件迁移文件注册邮件布局,因为目前无法直接从插件配置文件注册它们。

    如何插入布局 参考号: https://github.com/octobercms/october/issues/2000

    您可以对邮件部分执行相同的操作。其型号为 系统\模型\邮件部分

    \System\Models\MailPartial::create([
        'is_custom'    => true,
        'name'         => 'Default',
        'code'         => 'default',
        'content_html' => $html,
        'content_text' => $text,
    ]);
    

    对于模板/视图,您可以将邮件模板放入 邮政 插件视图目录中的目录。

    参考号: https://octobercms.com/docs/services/mail#mail-views

    您可以在邮件中定义 布局名称 使用迁移文件手动插入的。并将其用作布局。

    在内部注册邮件模板 插件。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.'
        ];
    }
    

    “rainlab。用户::邮件。激活“=>{插件名称}:{邮件。lt;模板名称>} 然后提供您的主题。

    现在,当您安装插件时,

    1. 迁移文件将在数据库中插入布局
    2. 插件注册将注册您在中定义的视图 注册模板 方法
    3. 现在,当您使用此模板时,他们将使用 布局图 正如您已经设置的 “layout='your-layout-code'” 在模板中。

    您的所有布局和模板相关现在都在模板中,当您安装插件时,它也会注册您的布局和模板。

    如果有任何疑问,请发表评论。