【问题标题】:Multiple Magento Email Forms & Templates多个 Magento 电子邮件表单和模板
【发布时间】:2011-06-24 04:19:41
【问题描述】:

我需要在我的 magento 网站上设置多个电子邮件表单。我将表格包含在 CMS 页面上。它们是:

  • 安排现场调查
  • 目录请求
  • 还有默认的联系方式

但您只能在管理员中选择一个电子邮件模板(系统 > 配置 > 联系人)。我有我的电子邮件模板并将我的表单包含在 CMS 页面中,因此我只需要它们即可工作。

【问题讨论】:

  • 你在System -> Transactional E-mails中制作了模板吗?
  • 是的。我可以选择它作为电子邮件模板。但我肯定需要指定哪些电子邮件表单与某些电子邮件模板链接?
  • 您需要编写一个控制器来接收表单输入、加载模板、放入数据并发送电子邮件。您可以从联系人控制器中复制一些代码。或者在 Magento Connect 中搜索扩展。
  • 我认为可能是这种情况。我还没有为 Magento 编写自己的控制器,所以这应该很有趣 :) 哈哈。
  • 欢迎写出我能接受的答案,谢谢。

标签: php email magento


【解决方案1】:

这是一篇关于如何在 magento http://blog.baobaz.com/en/blog/magento-module-create-your-own-controller 中创建控制器的博文

【讨论】:

  • 我现在根本没有时间这样做:\,可以在默认电子邮件模板 {{depend ...}} 中使用条件语句来确定发送了哪个表单并将所有电子邮件模板放在一个文件中?
  • 只有 $_POST 数据被传递到表单模板。如果您可以有一个名为“formName”的隐藏字段,那么您可以在模板中访问它,例如 data.formName 然后您可以有条件语句 {{if data.formName == 1}}表格 1 的模板{{else}}表格 2{{/if}} 的模板
  • 太好了,这对我来说似乎是一种更简单、更快捷的方式来完成这项工作。我读到您只能在电子邮件模板的条件语句中使用布尔值?我需要做 3 个联系表格,所以我可以检查 formName 的字符串值吗?
  • 显然是的。但是您仍然可以通过使用隐藏字段来实现您想要的。每个表单可以有自己的隐藏字段,名称不同,值为“1”。那么您可以在电子邮件模板中执行以下操作: {{if data.form1}} 表格 1 的模板 {{/if}} {{if data.form2}} 表格 2 的模板 {{/if}} {{if data.form3}} 表格 3 的模板 {{/if}}
【解决方案2】:

如果您知道如何在 Magento 中创建控制器并且不介意做一些更脏的事情,我建议您创建一个只有一个控制器的非常小的模块,然后将您的表单指向那个。

然后您可以从那里使用 Zend Mail 发送电子邮件(比尝试使用 Magento 恕我直言中的电子邮件模板更容易)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2011-09-26
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多