lekoala/silverstripe-foundation-emails

为 SilverStripe 提供更好的电子邮件布局

安装量: 1,281

依赖关系: 0

建议者: 2

安全性: 0

星标: 7

关注者: 5

分支: 2

开放问题: 0

语言:HTML

类型:silverstripe 模块

2.2 2022-06-03 12:10 UTC

This package is auto-updated.

Last update: 2024-08-28 11:52:19 UTC


README

通过 [Foundation Emails] (http://foundation.zurb.com/emails/docs/css-guide.html) 代替默认的 html 模板。

电子邮件模板使用 zurb/foundation-emails 提供一致的标记。

扩展的通用电子邮件

通用电子邮件包含一些新选项

  • 如果你定义了一个 Callout,它将被显示为 Callout
  • 如果你定义了一个 Sidebar,将显示一个右侧栏(比例 7/5)
  • 如果你定义了一个 HeroImage(一个图像对象),它将在正文下方和 Callout 之前显示
$email = new Email();
$email->addData([
'EmailContent' => 'Here is my body',
'Callout' => 'Here is my callout',
'Sidebar' => 'Here is my sidebar',
'HeroImage' => Image::get()->first()
]);

提供默认的头部和尾部

  • 头部显示标志或网站的标题
  • 尾部显示社交媒体链接和用户在 SiteConfig 中定义的文本(在 EmailFooter 下)

在尾部,应通过 SiteConfig 上的 EmailFooterLinks 方法提供社交媒体链接。每个项目包含一个 : 类,链接,标签和图标。

注意:不要使用 setBody,因为它将阻止使用默认模板。相反,依赖于 addData(['EmailContent' => $body])。

模板助手

除了依赖于特定的标记外,你还可以直接在电子邮件模板中使用模板助手。例如

$email = new Email();
$viewer = new SSViewer('MyEmailTemplate');
$result = $viewer->process($this);
$email->addData(['EmailContent' => (string) $result]);

Dear Customer,<br/><br/>
Please find your password reset link:<br/><br/>
$FoundationButton('Reset your passowrd', $PasswordResetLink)

可用的助手包括

  • FoundationSpacer
  • FoundationButton
  • FoundationCallout
  • FoundationContainer

自定义样式

模板被分为各种包含文件,这使得你很容易将它们适配到你的样式。

要定义你的基本样式,覆盖 FoundationEmailStyles.ss。

要定义你自己的头部和尾部,覆盖 FoundationEmailFooter 和 FoundationEmailHeader。

还提供了两种其他样式:“vision”和“ceej”。你可以自由地使用你最喜欢的一个。你可以通过以下配置来选择你的主题。

FoundationEmails:
    theme: "vision"

你也可以编辑基本颜色或使用扩展点“updateFoundationColors”。

FoundationEmails:
    colors:
        HeaderBg: "#333"
        Header: "#fff"
        Link: "#2199e8"
        Background: "#f3f3f3"
        CalloutBg: "#ddd"
        Callout: "#ddd"
        BtnBg: "#333"
        Btn: "#fff"

一致的更改密码和忘记密码模板

这些默认模板已被覆盖。

注意:我们包含了一个按钮来重置密码而不是一个普通的链接。

创建新的电子邮件

如 [SilverStripe 文档] (https://docs.silverstripe.org/en/4/developer_guides/email/) 中所述,你可以创建 Email 类的子类。

已提供了一个名为 WelcomeEmail 的示例类。

测试电子邮件

为了方便起见,提供了一个名为 "Email Viewer Task" 的任务。

此任务允许你选择 Email 类的任何子类并查看其 html(预览和代码)。

你还可以设置区域设置和内联样式(需要 pelago/emogrifier)以进行更好的测试。

如果你的电子邮件需要构造函数参数是 DataObjects,数据库中的随机记录将被注入。如果你想注入特定的记录,请通过 GET 参数传递 ClassNameID=YourID(例如 MemberID=5)。

兼容性

测试了 4.1+

维护者

LeKoala - thomas@lekoala.be