Opencart:3 结帐页面上的自定义输入字段

Custom Input Field on Checkout Page in Opencart:3

我想在付款方式下有一个自定义输入字段,以便在下订单前获取 GST 税收详细信息。我正在使用 Journal 3 主题。其中有单页结帐。

所以,我试过这篇文章:- https://forum.opencart.com/viewtopic.php?t=172521

在catalog/view/theme/journal3/template/journal3/checkout/payment_method.twig ---添加了这一行

<input name="get_gst" type="text" placeholder="{{ custom_gst }}" class="form-control">

在 catalog/controller/checkout/payment_method.php

$this->session->data['comment'] = strip_tags($this->request->post['comment']);      //Under this line
$this->session->data['your_field'] = strip_tags($this->request->post['get_gst']);   //I added this line

在 catalog/controller/checkout/confirm.php

$order_data['comment'] = $this->session->data['comment'];    //Under this line
$order_data['get_gst'] = $this->session->data['get_gst'];    //I added this line

在 catalog/model/checkout/order.php

, comment = '" . $this->db->escape($data['comment']) . "'    //after this line
, get_gst = '" . $this->db->escape($data['get_gst']) . "'    //I added this line

毕竟 得到这个错误...

语法错误:JSON.parse:JSON 数据的第 1 行第 1 列出现意外字符 好的

我注意到这个主题正在通过 v-model="order_data.comment" 获取其他字段数据(如:评论框),如下所示,而不是名称属性就像我使用的那样。

<textarea class="form-control" v-model="order_data.comment" placeholder="{{ text_comments }}"></textarea>

所以,我也在我的输入中尝试了这个 v-model="get_gst",但是我得到一个空的结帐页面。

有人知道哪里出现错误吗?提前致谢。

Checkout js file

简单的解决方案 - 您可以从当前未使用的付款地址(如地址 2)中获取任何字段,在 opencart 语言文件 catalog/language/en-gb/checkout/checkout.[=24= 中将其标题更改为 "GST Tax detail" ].

结帐账单详细信息下帐户和地址列表中的地址列表,两者都在受保护的函数 getList() 中从 catalog/controller/accout/address.php 中获取数据。所以,我们只需要修改checkout/payment_address.tpl文件即可。只需添加

<?php echo $address['address_2']; ?>

之后
<?php echo $address['address_1']; ?> 

我们需要添加此项,因为 OpenCart 仅在结帐页面的付款方式和账单详细信息部分显示地址 1 字段。所以,通过这个我们可以在上面显示 Address 2 字段。

您似乎没有正确地将您的字段添加到会话中。

在 catalog/controller/checkout/payment_method.php

这行不正确:

$this->session->data['your_field'] = strip_tags($this->request->post['get_gst']);   //I added this line

应该是:

$this->session->data['get_gst'] = strip_tags($this->request->post['get_gst']);   //I added this line

Journal 3 乍一看很不错...但我不推荐使用 Journal 3 主题。这个主题非常复杂并且破坏了 OC 框架。