magento email

今天的旅程将继续基于上一章节 Magento 发送自定义邮件
在上一章节中, 我们看到了如何在自定义的模块中创建新的邮件模板,并发送邮件, 在这一章节中, 我们会看到 Magento 在邮件模板中提供的大部分语句(directives)和变量赋值方法(variable assignment method)

建立邮件模板

在这里,我会重复一些在上一张章节中所讲述的步骤, 创建一个新的邮件模板
首先创建我们的 system.xml, 并写入如下代码:

添加完成之后, 你会在 System -> Configuration -> Customer Configuration -> Account Sharing Options 中看到两个新增的下拉框

advanceemail-1

接下来就是我们的 config.xml, 写入如下代码:
并创建邮件模板文件 app\locale\en_US\template\email\test.html

在 PHP 文件中发送邮件:

Magento 提供了很多语句(directive)可以把动态信息(dynamic information)传到邮件模板中, 现在我们来逐条解析
所有和语句相关的代码都写在 Mage_Core_Model_Email_Template_Filter 类里

var 语句

这是用来使用接收到的变量值, 语法如下:

depends 语句

depends 基本上就是半个 if 语句,没有 else, 语法如下:

shouldShow() 是在同一个类文件中的方法。 在 depend 后面, 可以调用方法或变量, 就像上面的类型三
例: {{depend object.can_display}} , {{depend display}}

if 语句

If 语句就是 depends 的升级, 带有原来自身的 else, 语法如下:

block 语句

它用来在邮件模板里直接引入整个 block, 语法如下:

在这里我们调用了 block 中的类 ’email/mail’, 并且传给 block 一个变量 $object

在 email/mail.phtml 中的内容是:

这样我们就可以在邮件模板中调用整个 block, 并且向这个 block 进行传值

layout 语句

layout 语句用来在邮件模板里加载整个 layout 结构。 在 block 里, 我们只可以直接加载单个 block, 但如果你想加载多个 block 和 child blocks 时, 你需要使用 layout 语句

在我们的 layout 文件里加入如下代码:

然后在我们的 email/testblock.phtml 文件里写入:

email/testblock2.phtml 文件里写入:

这样你就可以看出, 我们通过 layout 语句加载了复杂的 blocks

skin 语句

skin 语句用来获取在 skin 文件下的图片或文件路径

输出内容: http://127.0.0.1/magento/skin/frontend/default/default/images/logo_email.gif

media 语句

media 语句用来获取在 media 文件下的文件路径

输出内容: http://127.0.0.1/magento/media/Untitled.png

store 语句

store 语句用来获取一个 store 内 controller 的路径

输出内容: http://127.0.0.1/magento/index.php/email/index/index/test/213/?k=1

htmlescape 语句

顾名思义, 用来规避 html 代码

config 语句

用来获取 System -> Configuration 中的信息

custom variable 语句

用来获取任何自定义变量(如果你有创建的话), 你也可以在 System -> Custom Variables 里创建自己的变量, 这是在 magento 1.4 之后才新增的功能

这个将返回 code 为 “test123” 的 html 或 纯文本(plain text)格式的内容, 纯文本还是 html 取决于你的邮件类型

protocol 语句

这个将根据当然站点的 URL 来显示 http 或者 https

设置邮件主题

你可以在邮件模板的头部写入如下:

设置邮件的 css 样式

你可以写在 subject 下面:

下载: Magento Advanced Transactional Email Templates 代码 (10.9KB)

我写了大部分的语句, 如果有高手知道更多的,欢迎留言补充, 我会随后添加进 blog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值