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;
增加:
11 |
$hideflag = $showhideArr[$showhide]; |
|
3.
05 |
$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath |
07 |
From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line "; |
15 |
if ($typeid==0) return '' ; |
17 |
$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath |
19 |
From `dede_arctype` WHERE reid= '$typeid' And ishidden<>1 order by sortrank asc limit 0, $line "; |
23 |
else if ($ type == 'self' ) |
27 |
if ($reid==0) return '' ; |
29 |
$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath |
31 |
FROM `dede_arctype` WHERE reid= '$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; |
|
修改为:
05 |
$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath |
07 |
From `dede_arctype` WHERE reid=0 And ishidden<>$hideflag order by sortrank asc limit 0, $line "; |
15 |
if ($typeid==0) return '' ; |
17 |
$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath |
19 |
From `dede_arctype` WHERE reid= '$typeid' And ishidden<>$hideflag order by sortrank asc limit 0, $line "; |
23 |
else if ($ type == 'self' ) |
27 |
if ($reid==0) return '' ; |
29 |
$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname |
|