【问题标题】:How to get the built-in contact form working in a CMS page in Magento?如何让内置的联系表单在 Magento 的 CMS 页面中工作?
【发布时间】:2012-08-01 16:43:36
【问题描述】:

我在 CMS 页面 here 中实现了联系表单。

如您所见,表单显示良好。但是,当我填写表格进行测试并单击“发送”时,没有任何消息指示邮件是正确发送还是发送失败。但是会加载一个新页面,所以我认为它正在做一些事情。当我检查我的电子邮件时,没有电子邮件来。我也检查过垃圾邮件文件夹。

当前设置:

在 CMS 页面中,我有以下代码:

{{block type="core/template" name="contactForm" form_action="/contacts/index/post" template="contacts/form.phtml"}}

在form.phtml文件中,我修改了form标签action属性为:

<form action="/contacts/index/post/" id="contactForm" method="post">

我已经尝试过的东西:

我不认为是服务器,因为我在登录 Admin 时尝试了“忘记密码”,并收到了重置密码的电子邮件。

在系统配置中,我已验证“启用联系我们”为“是”。“禁用电子邮件通信”为“否”。如果“设置返回路径”为“是”或“否”,则没有区别。

它被设置为发送到与 Magento 站点所在的服务器不同的电子邮件地址。电子邮件地址是 Google Apps 电子邮件。

【问题讨论】:

  • 如果您尝试通过 Google Apps 发送,您需要通过 SSL/TLS 进行身份验证和连接。 Magento Commerce 论坛上有一个线程,或者您可以在 Connect 上使用 Ashley Shroder 的扩展程序来设置它。一旦它起作用,“设置返回路径”需要使用有效的凭据打开,否则会落入垃圾邮件陷阱。 CMS 页面上的条目和 form.phtml 是正确的,可以直接跟踪我在这个应用程序中使用的内容。
  • 这是我用来(在 1.4.1.1 版上)获得 Google Apps 关注的工具 magentocommerce.com/boards/viewthread/1073/#t19772
  • @FiascoLabs 我应该澄清一下,通过 Google Apps SMTP 服务器发送电子邮件不是必需的。使用默认方法发送电子邮件很好。碰巧我正尝试向我的电子邮件地址发送电子邮件,该地址恰好是 Google Apps 地址。我提到这一点是因为,我不想发送到托管在与 Magento 相同的服务器上的地址(我读过这可能会导致问题)。

标签: php xml magento contact-form magento-1.7


【解决方案1】:

好的,我想通了。由于某种原因,需要另一个父文件夹的操作属性中的路径。所以在我的情况下,它应该是

<form action="/2/contacts/index/post/" id="contactForm" method="post">

【讨论】:

    【解决方案2】:

    只需转到 app/design/frontend/your_theme/default/template/contacts/form.phtml 并将表单操作设置为&lt;?php echo $this-&gt;getFormAction(); ?&gt;

    <form action="<?php echo $this->getFormAction(); ?>" id="contactForm" method="post">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多