打开购物车 - 在结帐页面接收广播价值

时间:2013-12-22 15:13:16

标签: php button opencart radio

我需要帮助才能在结帐时创建一个收音机盒。 我不知道如何将收音机的结果与结账页面中的其他信息一起发送,例如账单地址等等。

这就是我做的,               

<input type="radio" name="shipping_address" value="existing" id="shipping-address-existing" checked="checked" class="radio inline" />
<b><?php echo $text_delivery2; ?></b>

<input type="radio" name="shipping_address" value="existing" id="shipping-address-existing" checked="checked" class="radio inline" />
<b><?php echo $text_delivery3; ?></b>
</label>

但没有显示任何内容。 感谢

1 个答案:

答案 0 :(得分:1)

首先要注意问题,因为结帐页面包含条件列表以及各个部分(登录,注册,付款地址,付款方式,送货地址,送货方式,快速确认等)

有动作列表及其相关模板,因此您需要更改相关文件,假设您要在结算地址上添加单选按钮

查找模板文件并添加电台

//template>checkout>payment_address.tpl 
<input type="radio" name="shipping_address" value="existing1" id="shipping-address-existing" checked="checked" class="radio inline" />
<b><?php echo 'Delivery2'; ?></b>

<input type="radio" name="shipping_address" value="existing2" id="shipping-address-existing" checked="checked" class="radio inline" />
<b><?php echo 'Delivery3'; ?></b>
</label>

现在在结帐页面中,您可以看到您的单选按钮,它使用ajax方法解析数据以实现功能

//in line 350 of template>checkout>checkout.tpl 

你可以看到一个ajax函数函数

$('#button-payment-address').live('click', function() {
    $.ajax({
        url: 'index.php?route=checkout/payment_address/validate',
        type: 'post',
        data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'password\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select'),
        dataType: 'json',

这里的url代表控制器功能

// controller>checkout>payment_address.php and function is validate()

在这里你可以获取你的无线电值$_POST['shipping_address'],因为在ajax中 我们定义了type: 'post'

希望这有帮助