在我的OpenCart环境中还有另一个页面,假设用户在购物车中有项目,假设用户在购物车中有项目,那么假设下面有这些表单,那么这些表单应该可以工作,但它们不能:
在此输入您的优惠券代码:
<form action="index.php?route=checkout/cart" method="post" enctype="multipart/form-data" id="basket">
<input type="text" value="" id="coupon" name="coupon"/>
<input type="hidden" value="coupon" name="next"/>
<input type="submit" class="button" value="Apply Coupon"/>
</form>在此输入您的礼品券代码:
<form action="index.php?route=checkout/cart" method="post" enctype="multipart/form-data" id="basket">
<input type="text" value="" name="voucher"/>
<input type="hidden" value="voucher" name="next"/>
<input type="submit" class="button" value="Apply Voucher"/>
</form>这是针对凭单代码系统的,但它不工作(此代码是默认的,未经编辑):
/catalog/controller/checkout/cart.php
// VOUCHER
// IF THE USER HAS ENTERED A VOUCHER
if (isset($this->request->post['voucher']) && $this->request->post['voucher']) {
foreach ($this->request->post['voucher'] as $key) {
if (isset($this->session->data['vouchers'][$key])) {
unset($this->session->data['vouchers'][$key]);
}
}
}发布于 2012-09-13 11:13:25
优惠券/凭单/船运
这三个系统块是OpenCart中的模块。它们被循环在一起,您可以编辑文件,例如使一些空白或使用if/else语句只显示某些模块。
不能在cart.tpl中调用表单本身,它必须是:
<div class="right">
<!-- eVoucher System -->
<?php foreach ($modules as $module) { ?>
<?=$module?>
<?php } ?>
<!-- eVoucher System -->
</div>船运/券和优惠券模块的文件位置
这将循环和显示模块tpl文件,运输,优惠券和优惠券。它们的位置很奇怪
/catalog/view/theme/default/total/coupon.tpl
/catalog/view/theme/default/total/shipping.tpl
/catalog/view/theme/default/total/voucher.tpl我们并没有全部使用它们,所以我们已经把凭单和船运空白了。优惠券表格如下:
<div>
<div class="cart-heading"><?php echo $heading_title; ?></div>
<div class="cart-content" id="coupon"><?php echo $entry_coupon; ?>
<input type="text" name="coupon" value="<?php echo $coupon; ?>" />
<a id="button-coupon" class="button"><span><?php echo $button_coupon; ?></span></a></div>
</div>
<script type="text/javascript">
<!--
//
// jQuery dependent based on .post so make sure
// your footer or header jQuery call is before this
//
$('#button-coupon').bind('click', function() {
$.ajax({
type: 'POST',
url: 'index.php?route=total/coupon/calculate',
data: $('#coupon :input'),
dataType: 'json',
beforeSend: function() {
$('.success, .warning').remove();
$('#button-coupon').attr('disabled', true);
$('#button-coupon').after('<span class="wait"> <img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
},
complete: function() {
$('#button-coupon').attr('disabled', false);
$('.wait').remove();
},
success: function(json) {
if (json['error']) {
$('#basket').before('<div class="warning">' + json['error'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
}
if (json['redirect']) {
location = json['redirect'];
}
}
});
});
//-->
</script>这就是这些文件的方式和位置,total也有一个控制器和coupon,所有其他模块都是控制器和标准MVC驱动的。
外部优惠券购物车表格
因此,为了在外部页面上按您的意愿使用,选择tpl文件以及$modules和$module循环,代码应该是:
(确保在SEO情况下使用“斜杠”index.php )
当然,举个例子,在你关于我们的页面上:
<strong>Please enter your coupon:</strong>
<form action="/index.php?route=total/coupon/calculate" method="post" enctype="multipart/form-data" id="basket">
<input type="text" value="" id="coupon" name="coupon"/>
<input type="hidden" value="coupon" name="next"/>
<input type="submit" class="button" value="Apply Coupon"/>
</form>发布于 2012-09-07 19:09:52
我试着把这些表格放在一个页面上,他们正在为我工作。输入优惠券/代金券代码会带我到结帐页面,而这些代码已经为我提供了。
https://stackoverflow.com/questions/12280666
复制相似问题