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,'no' => 1,'both'=> -1,);$hideflag = $showhideArr[$showhide]; |
3.
if($type=='top'){$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFrom `dede_arctype` WHERE reid=0 And ishidden<>1 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<>1 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,sitepathFROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";} |
修改為:
if($type=='top'){$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 |