在本文中,我们将详细说明phpcms的通道缓存文件的无限列表和显示是如何完成的。粗略测试了一下,实际效果还不错。有要求的可以参考一下,期待有所帮助。
复制代码编码以下:
<?php
$a=include_once('D:\\web\\www\\phpcms.test\\caches\\caches_commons\\caches_data\\category_content_3.cache.php');
functiongetNav($cid){//机构导航栏
global$a;
$n=array();
if(empty($cid)||empty($a[$cid]))return$n;
//当今
$n[]="<ahref=\"?cid={$cid}\">{$a[$cid]['catname']}</a>";
if($a[$cid]['parentid']){//有父id
//前边的在当今前边
$n=array_merge(getNav($a[$cid]['parentid']),$n);
}
return$n;
}
$cid=(int)$_GET['cid'];
$n=getNav($cid);
echo"<ahref=\"?cid={$cid}\">chrd</a>>".implode('>',$n);
echo'<p>kkkkk</p>';
functiondoTop($cid){//顶尖的解决
global$a;
$n=array();
$n[]="<ahref=\"?cid={$cid}\">{$a[$cid]['catname']}</a>";//顶尖自身
//假如必须把同顶尖的频道罗列在这儿解决
returnimplode('|',$n);
}
functiongetSub($cid,$focusId=0){//取子类有父就递归
global$a;
$n=array();
if(empty($a[$cid]))return$n;//数组无cid
$pid=(int)$a[$cid]['parentid'];//父id
$cs=$a[$cid]['arrchildid'];//子类id
!empty($cs)&&($cs=explode(',',$cs));
if(empty($pid)){//顶尖父类解决
$n[]=doTop($cid);
}else{//有父类
$n=array_merge(getSub($pid,$cid),$n);//合拼时,父条在前
}
if(!empty($cs)){//有子类
$sn=array();
$pInSub=0;
$sub=0;//是不是有子类
foreach($csas$c){//只应用子类,顶尖及自身与孙类清除
if(0==$c){//顶尖?
//echo'0';
continue;
}
if(empty($a[$c])){//数组中没储存到
//echo'2';
continue;
}
if($cid==$c){//自身
//echo'3';
continue;
}
if($cid!=$a[$c]['parentid']){//孙级,pid并不是自身
//echo'p';
continue;
}
$sub=1;//有子类
if($focusId&&($focusId==$c)){
$pInSub=1;//是不是出現在子类中
$lf='<spanclass="superseo">ss="focusCatid">[';
$rf=']</span>';
}else{
$lf=$rf='';
}
$sn[]="{$lf}<aclass=\"catId\"href=\"?cid={$c}\">{$a[$c]['catname']}</a>{$rf}";
}
if(!$pInSub){//不出現在子类中,高亮度所有
$lf='<spanclass="focusCatid">[';
$rf=']</span>';
}else{
$lf=$rf='';
}
$all=$sub?"{$lf}<aclass=\"catId\"href=\"?cid={$cid}\">所有</a>{$rf}|":'';//本子h类的所有便是本子h类的上级领导
$n[]=$all.implode('|',$sn);
}
return$n;
}
$n=getSub($cid);
echoempty($n)?'无':implode('<hr>',$n);
假如必须能够转换成js的解决.听闻seo不明白js.念头是把他们的连接先include到html中,只给百度搜索引擎捉?再js解决这方面,
呈现实际效果大约以下
临时性帮朋友写的,详尽的考虑到沒有想.粗检测了一下,应当没有问题.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)