Zen Cart预加载的一个小错误

因为要添加一些自定义常量进数据库,方便后台设置,但发现后台设置的面包屑导航控制常量却依然失效未按预期执行。检查breadcrumb class代码没有问题,数据库configuration正常,最后从脚本 init_db_config_read.php 直接打印常量值也没有任何问题,这就奇怪了,其他常量设置都很正常地在跑。百思不解时突然想到可能 breadcrumb 类先于数据库常量加载,并且只有这一个可能,用 die() 检查这两个文件执行顺序发现果然如此,难怪后台设置不起作用。打开 includes/auto_loaders/config.core.php ,可以看到各种 class 的初始化是排第一位的,然后才是其他预加载操作。

#70
$autoLoadConfig[0][] = array('autoType'=>'class',
'loadFile'=>'breadcrumb.php');


#106
$autoLoadConfig[40][] = array('autoType'=>'init_script',
'loadFile'=> 'init_db_config_read.php');


解决:设置 breadcrumb 加载顺序在 init_db_config_read 之后即可,即改下标 0 大于 40 如 50:

#70
$autoLoadConfig[50][] = array('autoType'=>'class',
'loadFile'=>'breadcrumb.php');

 

这种情况可能还会出现于其他情况,应该算是zen cart的一个小小的bug吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值