【问题标题】:Opencart checkout not passing through custom fieldOpencart 结帐未通过自定义字段
【发布时间】:2012-10-09 09:50:48
【问题描述】:

我正在尝试在结账时添加 2 个自定义字段(一个用于礼品备注,一个用于让用户选择发货日期)。我设法让礼品备注字段正常运行,但我在使用日期字段时遇到了问题。

我正在使用标准文本字段 (input type="text"),目的是使用 jQuery UI 作为日期选择器,但文本字段的值没有被传递。如果我从输入更改为文本区域,则数据确实会通过。我正在尝试将它们都添加到 Opencart 1.5.4 结帐的“付款方式”阶段。

我是 Opencart 的新手(昨天当我被要求添加这些字段时开始查看它)但了解 MVC+L 模式,并且正如我所说,设法让一个字段工作并传递到数据库中。我没有使用 vQmod。

输入字段中的数据没有被传递到 $this->request->post in controller/payment_method.php

这对我来说似乎是一个错误,它只是 Opencart 的一个怪癖吗?如果没有解决方案,我可以在技术上使用 textarea,但在解决问题时感觉有点脏

【问题讨论】:

  • 同时决定尝试使用 textarea,直到我找到更好的解决方案并发现我无法在 textarea 上使用 jQuery UI 日期选择器,所以我又回到了原点
  • 能否请您分享代码,因为我需要在结帐步骤添加额外的输入文本字段,但我不知道如何。我制作了输入文本字段,但看起来我需要在 ajax 部分进行更改才能发布额外的输入字段值。 ~谢谢
  • 没有真正要分享的代码,我解决它的方法如下作为公认的答案。如果您已将字段添加到结帐页面并且它们正在显示,请确保为它们提供 id 属性,然后您可以在 jQuery ajax 调用中使用该 id。在我的 checkout.tpl 文件中,它位于第 871 行

标签: php opencart


【解决方案1】:

我在我的案例中找到了解决方案,这就是我所做的,以防它在将来对任何人有所帮助。

我发现所有用于发布数据的AJAX都在

view/theme/THEME-NAME/template/checkout/checkout.tpl

我搜索了“帖子”的实例,检查并检查了它们与哪个部分相关。在我的情况下(在 payment_method 部分中添加字段),数据被传递到的 URL 是

index.php?route=checkout/payment_method/validate

只是将额外字段的 id 添加到 AJAX 调用的数据属性中。

希望这对其他人有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2017-03-21
    • 2013-07-07
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多