我在OpenCart 3.0.3.1结帐流程的付款方式部分中添加了自定义文本输入字段。我知道我遗漏了一些东西,因为订单结帐过程将完成,但是它将默认值传递给自定义字段,而不是用户输入值。
在“保存”功能中为付款方式设置了默认值。没有在这里设置它,我得到一个json错误,我不知道该如何解决。
我迷失了我所缺少的东西。拜托,有人可以告诉我为什么输入值被忽略吗?如何更改以使用户输入值与其余订单数据一起传递?
我的Twig文本字段代码,payment_method.php:
`<div class="form-group required">
<label class="col-sm-2 control-label" for="input-ponumber">{{ entry_ponumber }}</label>
<div class="col-sm-10">
<input type="text" name="ponumber" id="ponumber" class="form-control" />
</div> `
添加:
'#collapse-payment-method input[type=\'text\']:checked'
在checkout.twig中的Ajax脚本中包含文本字段:
'data: $('#collapse-payment-method input[type=\'text\']:checked, #collapse-payment-method input[type=\'radio\']:checked, #collapse-payment-method input[type=\'checkbox\']:checked, #collapse-payment-method textarea'),'
在目录/控制器/结帐/payment_method.php中添加了Ponumber代码:
在索引功能中:
'if (empty($this->request->post['ponumber'])) {
$data['error_warning'] = sprintf($this->language->get('error_ponumber'), $this->url->link('checkout/checkout'));
} else {
$data['error_warning'] = '';
}
if (isset($this->session->data['ponumber'])) {
$data['ponumber'] = $this->session->data['ponumber'];
} else {
$data['ponumber'] = '';
}'
在保存功能中(否则,我会收到一个Json错误-Ponumber上的索引无效):
' if (!$json) {
$this->session->data['payment_method'] = $this->session->data['payment_methods'][$this->request->post['payment_method']];
$this->session->data['comment'] = strip_tags($this->request->post['comment']);
if (!empty($this->request->post['ponumber'])) {
$this->session->data['ponumber'] = $this->request->post['ponumber'];
} else {
$this->session->data['ponumber'] = '911';
}
}'
将ponumber添加到目录/控制器/结帐/confirm.php:
'$order_data['ponumber'] = $this->session->data['ponumber'];'
在商品目录/模型/order.php中的插入查询中添加了ponumber:
'ponumber = '" . $this->db->escape($data['ponumber']) . "','
我想念什么?为什么Ponumber的默认911值最终出现在数据库中而不是用户输入值?请帮忙。
是的,我确实进行了搜索,然后进行搜索,并且以前的帖子没有帮助或仍然没有答案。任何和所有帮助表示赞赏!谢谢!
答案 0 :(得分:0)
好吧,将其张贴在多个地方,似乎没有人能够真正提供帮助。
如果还有其他人陷入其中,并且需要在他们的OpenCart 3.0结帐流程中需要自定义字段(例如采购订单#),请检查以下内容:
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=36216
这个开发者太棒了!他们为我创建了此代码,然后对其进行了修改,使其出现在步骤5中,并具有更标准的“必需”感觉。如果您需要类似的东西,他们也会很快做出回应并且非常合理。问题解决了。