dede如何控制隱藏欄目的顯示與調(diào)用
許多時(shí)候有些欄目想在某些頁面隱藏,在另外一些頁面顯示,怎么辦?
貌似,織夢(mèng)的channel標(biāo)簽不能獲取隱藏的欄目,于是我自己動(dòng)手修改channel標(biāo)簽
首先找到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;
增加:

01$showhideArr = array(
02 
03    'yes' => 0,
04 
05    'no' => 1,
06 
07    'both'=> -1,
08 
09);
10 
11$hideflag = $showhideArr[$showhide];

3.

織夢(mèng)中{dede:channel}無法調(diào)用隱藏欄目解決方法

01if($type=='top')
02 
03  {
04 
05      $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
06 
07        From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
08 
09  }
10 
11  else if($type=='son')
12 
13  {
14 
15      if($typeid==0) return '';
16 
17      $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
18 
19        From `dede_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
20 
21  }
22 
23  else if($type=='self')
24 
25  {
26 
27      if($reid==0) return '';
28 
29      $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
30 
31          FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
32 
33  }

修改為:

01if($type=='top')
02 
03 {
04 
05     $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
06 
07       From `dede_arctype` WHERE reid=0 And ishidden<>$hideflag order by sortrank asc limit 0, $line ";
08 
09 }
10 
11 else if($type=='son')
12 
13 {
14 
15     if($typeid==0) return '';
16 
17     $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
18 
19       From `dede_arctype` WHERE reid='$typeid' And ishidden<>$hideflag order by sortrank asc limit 0, $line ";
20 
21 }
22 
23 else if($type=='self')
24 
25 {
26 
27     if($reid==0) return '';
28 
29     $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname
?