香港独立IP空间
香港php空间
美国php空间
域名注册

我们在使用ecshop经常有用户说后台管理里面添加的商品分类在前台显示,但在后台不显示,问到是什么原因,一开始小编也不解,为什么会这样,尽管从网上找到一些原因,是因为ecshop权限的问题,但是这个只是其中一种。针对于这种方法很简单,只要在php免备案空间中修改一下权限就可以解决。其中原理就是 ecshop是有缓存文件存在的,后台的分类不显示就是因为缓存文件没有权限,我们只需要给存在文件“修改”的权限就可以了。因此找到网站目录下的“temp”这个文件,右击属性,在安全选项卡里添加“修改” 可读写权限即可。而对于另外一种情况,比如我们添加的扩展分类,ecshop 后台商品列表默认只显示分类下的商品,而不显示扩展分类中的商品。因为一些原因需要在网站首页调用扩展分类的商品,找了一天没找到具体方法,所以决定请教高手一起帮忙解决。以下是得出的解决方法:
打开admin/includes/lib_goods.php 第839行左右的位置 可以看到如下代码:

$where = $filter['cat_id'] > 0 ? " AND " . get_children($filter['cat_id']) : '';

把以上这行代码的内容换成如下内容即可:

if($filter['cat_id']>0){
$cid = get_children($filter['cat_id']);
$where = " AND ($cid OR ".get_extension_goods($cid).")";
}else{
$where = "";
}

这里涉及到and 和or 的优先级,and比or 优先,例如 语句1 and (语句2 or 语句3),其中get_extension_goods函数是 获得所有扩展分类属于指定分类的所有商品ID,文件在/include/lib_goods.php里。需引入使用。

无忧主机相关文章推荐阅读:
ECSHOP退出登录后会清空购物车的BUG优化
如何在ECSHOP后台管理的时候显示扩展分类
ECSHOP程序最常见的数据库缓存报错和程序缓存报错解决方法总结

本文地址:http://www.51php.com/ecshop/21064.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读: