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

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


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


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目前所有版本都是如此,那意思是说只要点修改账单地址,点一下继续,那的账单地址就可以被改变了,而你的本意可能是希望不做任何修改。

企业模板网站

时间: 2024-08-07 05:20:45

Zen-cart改变运输地址和改变账单地址流程BUG的相关文章

RHEL克隆虚拟机后改变网卡地址

RHEL克隆虚拟机后改变网卡地址 (一)更改hostname # vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=your-vm-hostname-here (二)更改网卡地址 在使用virt-manager或virtual-box克隆了RHEL6的虚拟机之后,网卡地址需要手动更改. 首先在virt-manager中查看虚拟机属性: View->Details Overview  |  Basic Details Name: vm-rhel64

因网内DHCP服务造成网件netgear GS728TP交换机配置地址的改变

公司为了业务需要,调试网件netgear GS728TP POE交换机,划分VLAN及其它业务,一切都调试完毕后.再习惯性的保存重启设备.结果这一重启后.莫名奇妙的PING不通管理交换机的地址了.当然更别说用WEB界面登陆管理交换机. 经过一步一步的排查.最后把接在交换机上的路由设备移除后发现管理地址可以进入了.经过检查网件交换机的配置后发现.这种交换机有一个自动DHCP客户端地址的功能.因网内存在DHCP服务器.然后交换机会自动从DHCP服务器获取一个下发的IP地址.造成管理地址的改变.为了避

c/c++ 网络编程 UDP 改变IP地址

网络编程 UDP 改变IP地址 在程序里动态改变主机的IP地址 1,改变ipv4的地址 #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <netinet/in.h> #include <net

jQuery可以计算的表单,包括单选改变价格,select改变价格,动态添加删除行计算

jQuery可以计算的表单,包括单选改变价格,select改变价格,动态添加删除行计算 各种表单情况的计算 演示 JavaScript Code <script type="text/javascript"> var currentRow = 3; $(document).ready(function(){ $('#calx').calx(); $('#add_item').click(function(){ var $calx = $('#calx'); currentR

Zen Cart 常用SQL命令

网店日常维护过程中,难免要跟各种批量操作打交道, 虽然大多数操作可以通过批量上传 (easy populate) 和 快速更新 模块来完成, 但在应用便捷性和一些功能性的调整上, 总有一定的局限性; 网站的全部数据均存放在数据库中, 有什么变更 直接操作数据库无疑是最便捷的方式, 既然要动数据库, SQL语句是肯定离不开了, 日常跟网站打交道, 要接触熟悉各种代码, 这里又多了一种代码, 有点儿让人头大, 因此也就了本文, 下面为日常应用中可能涉及到的常用的批量操作SQL语句, 可多条同时执行

12.checkbox改变时让字改变

checkbox改变时让字改变 public class Setup4Activity extends BaseSetupActivity { private CheckBox cbProtect; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_setup4); cbProtect

新的文明时代,要求思维模式的改变、世界观的改变

浅谈生态文明观3.生态文明的世界观 三百年的工业文明以人类征服自然为主要特征,世界工业化的发展使征服自然的文化达到极致,一系列全球性的生态危机说明地球再也没有能力支持工业文明的继续发展,需要开创一个新的文明形态来延续人类的生存,这就是"生态文明",如果说农业文明是"黄色文明",工业文明是"黑色文明",那生态文明就是"绿色文明". 生态文明,是指人类遵循人.自然.社会和谐发展这一客观规律而取得的物质与精神成果的总和:是指人与自然

Zen Cart 138 在PHP5.3环境下出现的Fatal error: Cannot redeclare date_diff()

Zen Cart 138 在PHP5.3环境下出现的Fatal error: Cannot redeclare date_diff() in includes/functions/functions_general.php错误的解决方法 原因是在这个文件中已存在函数:date_diff()了,此时,我们需要做到与旧版本的PHP兼容,将Zen Cart中的date_diff()函数进行修改,解决方法如下: if(function_exists('date_diff') && phpversi

修正zen cart商品评论显示太短的问题

找到includes\modules\pages\product_reviews\header_php.php $reviews_query_raw = “SELECT r.reviews_id, left(rd.reviews_text, 100) as reviews_text, r.reviews_rating, r.date_added, r.customers_name FROM ” . TABLE_REVIEWS . ” r, ” . TABLE_REVIEWS_DESCRIPTIO