【问题标题】:magento custom form on product page产品页面上的magento自定义表单
【发布时间】:2012-02-16 05:04:45
【问题描述】:

我是 Magento 的新手,我需要一些概念指南和/或参考资料。 我需要创建自定义表单,该表单将成为product-info 页面(位于底部)的一部分,并将收集用户输入(电子邮件、大小、颜色)。只有某些产品具有此功能/形式(由管理员决定)。因此,此表单的目标是通过电子邮件向商店管理员发送有关有库存但没有所需尺寸和/或颜色的产品的信息。我应该自定义现有的Contact us 表单还是应该在新模块中创建新的自定义表单?
表单应通过电子邮件向管理员提交数据以及产品名称。

【问题讨论】:

  • 如果您接受,我只能提供电子邮件选项。我没有太多时间编写管理部分代码来显示客户发送的内容!
  • @Oğuz Thx (Teşekkür ederim :)),这将有很大帮助!
  • rica ederim :)(表示欢迎)
  • @Oğuz 我目前正在尝试为自定义电子邮件表单编写代码,您能否给我一个提示如何获取产品名称以便我可以在电子邮件内容中使用它,或者我应该在另一个问题中询问?
  • 您可以在电子邮件模板中使用自定义变量。检查管理员 > 系统菜单。检查此链接Defining Transactional VariablesTransactional Emails

标签: php magento content-management-system


【解决方案1】:

好的,那么首先在app/design/frontend/[namespace]/[theme]/template/catalog/product/send_request.phtml下创建一个.phtml文件

然后,在 /app/design/frontend/[namespace]/[theme]/layout/catalog.xml 中的 catalog.xml 中添加此 .phtml 文件引用

<block type="core/template" name="customer_request" template="catalog/product/send_request.phtml"/>

在以下: <label>Catalog Product View (Any)</label>

部分,但你应该找到正确的部分放置(尝试几次后你会找到)

最后,将您的 php 逻辑添加到 send_request.phtml 文件中。您在 send_request.phtml 中实现的表单包含在产品视图页面下。

【讨论】:

  • 终于让它工作了 :) 只是使用了默认的联系表单并将它的路径复制到我的布局路径中。但是,更新布局目录时出现双引号问题。我进行了调试,发现只有当我将双引号替换为单引号时才会发送电子邮件。如果您发现这是一个常规问题,您可以更新您的答案。
【解决方案2】:

听起来您需要一个自定义表单。您将需要一个新的数据库表来存储数据,一个模型来表示数据,以及一个控制器来至少将表单发布到。您可能希望向 Products 添加一个属性,即是否显示表单的是/否。您可能还想查看数据,因此您必须在管理站点中创建页面。也许是所有答案的网格和一个用于查看/编辑特定答案的页面。

【讨论】:

  • 哦,我忘了说表单应该通过电子邮件向管理员提交数据,所以不需要 db。表单还应该知道它的父产品页面,以便它可以发送该产品的名称。很抱歉错过了。
  • 没关系。在这种情况下,您可以忽略 DB 部分和 Admin 部分。您仍然需要一个 url 来发帖和代码,它将接收帖子并将数据转换为发送的电子邮件。如果您不想自己编写该代码,则可以使用wufoo.com 之类的服务,但如果您想自己编写代码,则必须制作一个简单的模块。我强烈建议阅读alanstorm.com/category/magento 的前几篇文章,以获得关于构建模块的好教程。
  • 谢谢 Max,很抱歉我无法接受这两个答案,您的链接对我有很大帮助。这是一个地狱般的教程。你很难过我仍然需要一个 url 来发布和代码,它将接收帖子并将数据转换为电子邮件,但这是否意味着我将在提交表单后重定向到另一个页面?你想让我在另一个问题中形成这个并邀请你吗?
  • Naa 没问题 - 要重定向到不同的页面,您可以在 controller 末尾执行重定向命令。要重定向到提交表单的页面,请执行$this->_redirectReferer();。否则,请执行 $this->_redirect('module/controller/action') 以转到其他页面。查找函数 getUrl 以了解重定向的 module/controller/action 部分。
  • 感谢一切,帮了我很多
【解决方案3】:

有一个免费的扩展程序可用。您可以使用此扩展程序并根据您的需要对其进行自定义。 Product Questions

【讨论】:

  • magento connect 的链接再次失效。不过可以参考扩展的github repository
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
相关资源
最近更新 更多