广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > ecshop如何让当前导航链接样式不一样

二次开发Ecshop二次开发

二次开发Ecshop二次开发

ecshop如何让当前导航链接样式不一样

ecshop的导航分3种,都有当前样式的说法,问题是ecshop的目录结构是扁平的,如果我们自己建立二级目录,比如/category/index.php,就没法使导航链接有当前样式,今天就给大家讲一个解决方法。

其实很简单,只要找到Ecshop本身是如何实现当前样式链接的代码,然后修改就行了。

在includes/lib_main.php 有个get_navigator  函数,就是取得导航链接的了,他设置当前链接样式的依据是后台设置的自定义导航的地址是否和当前链接地址的最后文件名是否相符。如果相符就是当前链接样式。比如,当前链接地址是http://www.***.com/category/index.php,那么他判断的是index.php是否和自定义导航里的链接地址一致,问题是,我们设置导航链接的时候用的是category或者category/index.php,这样的话要么不匹配,要么和首页匹配。问题找到了,就知道怎么改了,其实非常简单:

找到这段代码:$cur_url = substr(strrchr($_SERVER['REQUEST_URI'],'/'),1);

改成:$cur_url = substr(strchr($_SERVER['REQUEST_URI'],'/'),1);

就是一个函数的修改,把strrchr改成strchr,区别就在于第一个函数以最后一次出现的位置,第二个是第一次出现的位置。我们用strchr取当前链接地址的结果是category/index.php,拿他去比较,就不会和首页冲突了。