dede如何控制隐藏栏目的显示与调用
许多时候有些栏目想在某些页面隐藏,在另外一些页面显示,怎么办?
貌似,织梦的channel标签不能获取隐藏的栏目,于是自己动手修改channel标签
首先找到include/taglib/channel.lib.php
1.
$attlist = “typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|”;
修改为:
$attlist = “typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,showhide|no”;
2.
在这两句下
$innertext = $ctag->GetInnerText();
$line = empty($row) ? 100 : $row;
增加:
$showhideArr = array( yes => 0, o => 1, oth=> -1, ); $hideflag = $showhideArr[$showhide];
3.
if($type== op) { $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFrom `dede_arctype` WHERE reid=0 And ishidden1 order by sortrank asc limit 0, $line "; } else if($type==son) { if($typeid==0) return \; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFrom `dede_arctype` WHERE reid=$typeid And ishidden1 order by sortrank asc limit 0, $line "; } else if($type==self) { if($reid==0) return \; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE reid=$reid And ishidden1 order by sortrank asc limit 0, $line "; }
修改为:
if($type== op) { $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFrom `dede_arctype` WHERE reid=0 And ishidden$hideflag order by sortrank asc limit 0, $line "; } else if($type==son) { if($typeid==0) return \; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFrom `dede_arctype` WHERE reid=$typeid And ishidden$hideflag order by sortrank asc limit 0, $line "; } else if($type==self) { if($reid==0) return \; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname