如何展开所有的分类目录和子目录 zencart
1个回答
2015-01-08 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
zencart默认的首页目录显示目录或者分类是只显示父级目录或者分类的链接,而子目录默认是不显示的,只有当点击进去之后才显示。最近发现很多有都有这样的需求,就是希望在首页显示所有的分类目录和子分类目录。所以就我今天也就特意去看了一下,最后也实现了这个效果,所以分析一下这个修改的方法。 其实修改起来比较方便,首先我们找到文件includesclassescategory_tree.php,这个就是分类目录的主要类文件。找到 if (zen_not_null($cPath)) {这个位置后,主要修改的地方就是在接下来的地方:具体实现如:
if (true or zen_not_null($cPath)) {
/////////////////展开所有目录/////////////
unset($cPath_array);///清除原来的内容,重新定义这个数组
$cPath_array=array();
$all_categories_sql="SELECT distinct parent_id FROM ".TABLE_CATEGORIES." where parent_id>0";///查询要显示子目录的父级目录ID
$all=$db->Execute($all_categories_sql);
while (!$all->EOF) {
$cPath_array[]=$all->fields['parent_id'];//保存起来,下面需要这个数组的内容来说明要显示的子分类目录
$all->MoveNext();
}
////////////////////////////////
这个方法不错,不像网上疯传的什么c_Path添加的方法好
if (true or zen_not_null($cPath)) {
/////////////////展开所有目录/////////////
unset($cPath_array);///清除原来的内容,重新定义这个数组
$cPath_array=array();
$all_categories_sql="SELECT distinct parent_id FROM ".TABLE_CATEGORIES." where parent_id>0";///查询要显示子目录的父级目录ID
$all=$db->Execute($all_categories_sql);
while (!$all->EOF) {
$cPath_array[]=$all->fields['parent_id'];//保存起来,下面需要这个数组的内容来说明要显示的子分类目录
$all->MoveNext();
}
////////////////////////////////
这个方法不错,不像网上疯传的什么c_Path添加的方法好
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询