一尘不染

如何在opencart中自动选择结帐选项?

ajax

在我正在开发的商店中,用户只有在创建帐户后才能看到价格并将产品添加到购物车。之后,他们可以将产品添加到购物车。帐单详细信息和交付详细信息选项将自动填写用户的地址。送货方式是免费的,付款方式是“货到付款”。

我如何自动选择这些选项并隐藏它们,所以剩下的唯一步骤就是确认订单?

我假设我需要更改的模板文件是,catalog/view/theme/default/template/checkout/checkout.tpl但是它几乎是1k行,并使用了我不知道的ajax。

我已经尝试了几个小时,所以任何帮助将不胜感激!

非常感谢你!


阅读 342

收藏
2020-07-26

共1个答案

一尘不染

万一有人偶然发现了这个问题,我在这里找到了答案。它适用于帐户选项,运输选项,付款选项,但不适用于step2计费选项(如果您尝试使用jquery在step2中单击“继续”按钮,则会将其发送到无限循环中)。

解决方案:
使用Jquery基本上单击Continue按钮,然后使用CSS(/catalog/view/theme/default/stylesheet/stylesheet.css)隐藏相应的步骤:

#checkout, #payment-method {
    display:none;
}

以下是来自
opencart社区论坛的信息

要跳过“帐户”选项, 只需复制以下代码即可,然后将此代码粘贴到catalog / view / theme / default / template
/ checkout / login.tpl的顶部:

<script language="Javascript" type="text/javascript">
$(document).ready(function(){
  $('#button-account').trigger('click');
});
</script>

切记看一下我为自动选择登录选项所做的一些较旧的帖子。

要跳过运送选项, 只需复制以下代码,即可将以下代码粘贴到catalog / view / theme / default / template /
checkout / shipping.tpl的顶部:

<script language="Javascript" type="text/javascript">
$(document).ready(function(){
  $('#button-shipping').trigger('click');
});
</script>

要跳过付款方式, 只需复制以下代码,即可将此代码粘贴到商品目录/视图/主题/默认/模板/结帐/payment.tpl的顶部:

<script language="Javascript" type="text/javascript">
$(document).ready(function(){
  $('#button-payment').trigger('click');
});
</script>

在这种情况下,在opencart 1.5中,您还必须更改此代码(第36行):

<input type="checkbox" name="agree" value="1"/>

对此:

<input type="checkbox" name="agree" value="1" checked="checked"/>

请记住,这些技巧仅在默认选项是您想要的选项时才起作用 (或者如果您强迫opencart自动选择一个具体选项)。

2020-07-26