- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
  
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.! h% h5 R# H1 G5 L, q
要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php
: n! J* l- O8 M4 b( Y
4 m9 N1 g% u9 \6 ], ftag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.9 _( ^; d* S3 z; R' O O
if(!empty($typeid))
: \) t0 m/ N" t0 s% M3 ?% i{
" E& q) v* ^9 T, _5 w, Y1 L$addsql = ” where typeid=’$typeid’ “;
) ]; n3 j) V O4 [, _5 A5 J}, n1 ? @# k! ?; \
修改成:0 @3 r/ z) ?# u) V8 ~3 K& b3 o
$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();; B/ Q- F) x* h/ y7 N! z1 U6 F, U
$ids = ”;* P! t: k( i9 C. {" y( a5 j* N
while($row = $dsql->GetArray())
$ G6 E& ]8 G$ j& D{
2 U, e# F% l+ m, ?" y5 K$tid = $row['tid'];+ O- \& f: \8 z; R5 d9 y0 f
$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;* L* o+ ~$ ~0 I+ S! R) v
$crow = $dsql->GetOne($cquery);
/ i. Z- s, i Q/ M3 Oif(!$crow['dd']); J, P: u( q! a3 X2 K3 p x/ L
{8 i" ?5 R8 I! N
$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );3 V' p/ M6 d6 L9 @
}3 B- A! K4 z) R9 L
}
6 H5 ^* [; s) f. e, R7 \if($ids != ”)8 q1 @! u0 B. @) d" g
{
' t' \% b! U. O6 @' j$addsql = ” where id not in($ids) “;: c" N0 C1 C; H" t! ~5 ^
}
& v; U' J \ Uif(!empty($typeid)) c6 g, O0 _- m( O
{
$ x1 O6 N* R8 I; B7 `if($addsql)
" c* w; C# ?! `/ O8 y3 m0 |2 S{
# u7 E" X' Z4 Z$addsql .= ” and typeid=’$typeid’ “;
" G. C( |1 f" s5 J}else{7 J. K; q6 ?' q1 \
$addsql = ” where typeid=’$typeid’ “;' [6 s- V* c7 Z9 S6 G- O( s; r+ `1 }
}$ ?+ G1 k* n. T8 g
}2 z% f' Q" s; H3 o$ |
这样就不会显示的未审核稿件的标签. |
|