【发布时间】:2012-04-16 04:38:05
【问题描述】:
是否有任何教程可用于我如何在前端结帐步骤中添加自定义字段,如采购订单号、工作名称、客户 cmets 等以及在 admin->create->order 中。
【问题讨论】:
是否有任何教程可用于我如何在前端结帐步骤中添加自定义字段,如采购订单号、工作名称、客户 cmets 等以及在 admin->create->order 中。
【问题讨论】:
我通常的座右铭是找到(并在需要时购买)已经具有您所寻求的功能的模块。尤其是当该项目的生命周期涉及版本升级时,因为那时您可以从提供商处寻求预打包的解决方案。
我对我在 Magento 安装中添加的每一点自定义代码感到遗憾。因为现在除了找出我的黑客之外,我还必须维护网站才能继续工作。是时候花更多时间用现成的扩展替换 hack,这本来会更快。
我知道这种态度在某种程度上违背了堆栈溢出的想法,即我可以做任何事情,但实际上,Magento 的工作是让某人做更少的工作。
两年后,更新:在轻轻一票否决(可能是因为似乎对这个问题不屑一顾)之后,我回来重温并分享我学到的一些东西。附加字段的编程方面是数据持久性的概念。
如果您对订单后的自定义字段only appearing in the transactional emails 没问题,那么任务就像将字段添加到表单中的某处然后更新控制器以捕获并将发布数据插入到电子邮件。您可以在后端使用自定义变量来轻松地将其公开给email templates。还有一个Magento SE on programatically creating a custom variable。
将持久性引入后端需要通过模块中的安装程序添加数据库字段。 iCoreThink blog 清楚地列出了这些步骤并解释了原因、如何确认您的工作,然后提供实际实施,例如在客户的帐户中显示。下面提到的“other blog”就是一个很好的例子,尽管他的例子专门与计费和运输有关。
来自我的点赞和书签的资源:
» 这个iCoreThink blog post 是迄今为止我最喜欢的参考资料,也是我现在关注的内容。
» 我使用的是 Templates Master 的 FireCheckout,其中包含他们自己的 checkoutfields 模块,但我已经放弃了他们的单视图结帐,转而使用 Magento 的单页结帐流程。我现在正在尝试将他们的结帐字段(并使用他们的控制器)调整到我的结帐模板中。
» 我确信Alan Storm 写了一篇关于 Checkout 自定义字段的文章,但我没有看到。
» This Magento SE 列出了几个博客和一个paid extension。卓越博客还可以,但是他的风格对我来说太死板了,我什么都学不到。 other blog 讨论了构建模块和安装数据库字段的过程。
»unexpected-IT blog 演示了将代码添加到核心文件的非正式 hack(但遗憾的是没有显示如何通过将这些文件复制到 app/code/local 来覆盖这些文件)以及手动执行以获取在数据库中添加的列和字段。显然对于 1.4 及以下版本是完美的,但 cmets 似乎解释了为 1.5 及以上版本做什么。
最后一个 hack-ish 更改是我个人最喜欢的,因为它无缝地将额外的部分添加到现有的 Magento 管理页面中,并且“感觉”更少的工作。注意事项:如果不使用版本控制,我不会这样做,如果在版本升级之间发生任何核心代码更改,它绝对会崩溃。
【讨论】: