联系电话:0755-27515592
最新动态:

zencart教程

Zen-cart改变运输地址和改变账单地址流程BUG

点击数:14652015-07-21 10:17:33 来源: 外贸网站建设,深圳外贸网站建设,深圳网站建设,外贸商城网站制作-亿恩科技

新闻摘要:改变运输地址 和 改变账单地址 1 2 main_page=checkout_shipping_address main_page=checkout_payment_address 这种情况都会加载地址薄表单 和 地址簿列表: 这个流程展示文件是如何包含的。 tpl_modules_checkout_addre

改变运输地址 和 改变账单地址

1
2
main_page=checkout_shipping_address            
main_page=checkout_payment_address

这种情况都会加载地址薄表单 和 地址簿列表:

这个流程展示文件是如何包含的。

tpl_modules_checkout_address_book.php模板中,对应默认地址的选中:

1
<?php echo zen_draw_radio_field('address', $addresses->fields['address_book_id'], ($addresses->fields['address_book_id'] == $_SESSION['sendto']), 'id="name-' . $addresses->fields['address_book_id'] . '"'); ?>

单选框是否被选中,完全依赖当前的$_SESSION['sendto'],从上面的示例图可以看到 tpl_modules_checkout_address_book.php模板会被两个控制器(checkout_shipping_address 和 checkout_payment_address)包含,地址是否选中不应该只依赖当前的$_SESSION['sendto'],我发现在Zen- cart151的默认模板中都是如此设置的,这明显是一个Bug,不过问题不大。

首先在tpl_modules_checkout_address_book.php开头添加

1
2
3
4
5
if($addressType == 'billto'){
    $checked = $_SESSION['billto'];
}else{
    $checked = $_SESSION['sendto'];
}

然后把

1
<?php echo zen_draw_radio_field('address', $addresses->fields['address_book_id'], ($addresses->fields['address_book_id'] == $_SESSION['sendto']), 'id="name-' . $addresses->fields['address_book_id'] . '"'); ?>

替换成:

1
<?php echo zen_draw_radio_field('address', $addresses->fields['address_book_id'], ($addresses->fields['address_book_id'] == $checked), 'id="name-' . $addresses->fields['address_book_id'] . '"'); ?>

这样的小Bug在Zen-cart目前所有版本都是如此,那意思是说只要点修改账单地址,点一下继续,那的账单地址就可以被改变了,而你的本意可能是希望不做任何修改。

【责任编辑:(Top) 返回页面顶端
贴心
全国7×24小时客服热线
安全
病毒杀除率高于99%
稳定
网站可用性高于99.9%
实力
服务68家上市企业及集团公司
亿恩科技手机站
关注亿恩科技微信

亿恩科技—企业信息化一站式服务专家


Copyright © 2008- 深圳市亿恩科技有限公司版权所有 粤ICP备15056041号

联系我们 | 常见问题 | 在线留言 | 支付方式 | 软件开发 | 我的观点 | 资质荣誉 | 服务流程