- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
  
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.& H ?& i; L4 V1 g4 i
要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php
& s! a3 y4 a; X9 l: l v8 f- [4 S9 n/ u \, w
tag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.
9 E& u9 h7 J2 M5 z; Q) J9 @' o) qif(!empty($typeid))
+ L; |* c: Q+ u( @: h{9 T: a6 u$ L+ H9 Q7 w
$addsql = ” where typeid=’$typeid’ “; T0 l* B3 Z T2 P# k; [/ c" c
}( I L h9 h/ ?
修改成:
* ]8 t2 |' ]- t1 _$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();, Y4 h9 q" A; F$ r$ M
$ids = ”;) @; Q7 p" p5 v
while($row = $dsql->GetArray())
6 }/ k0 r) n, m/ t7 c( }6 e- F{
! \8 D. k2 N- j0 D" z" p) N3 k$tid = $row['tid'];+ i4 @6 w7 h4 k
$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;
- l3 A6 d( H3 N% V% y$crow = $dsql->GetOne($cquery);, e) J4 X) ~" G7 t/ z7 P
if(!$crow['dd'])
& j4 n' K* o6 L" N% d8 S- d, `9 ^{4 r: K3 J3 H/ Z% r
$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );: N9 F! Z0 g$ M9 {# C# [% O
}% z% i: k+ ~# n: y) T0 Z# {, f
}9 k% W0 W5 T- z5 P% `8 t) v, z" E
if($ids != ”)! U: d f6 w# y7 _6 M0 m
{
# e. J' z- J2 _8 ]6 r% M, r$addsql = ” where id not in($ids) “;& {, [. Z6 v8 `0 i) R5 G
} n+ t0 M! g& f' S; f
if(!empty($typeid))
# A( I) l/ q- a{. W9 e. N+ y4 b
if($addsql)
( F- D3 k& f5 A{/ D( d2 u. k+ D0 V n' D# L
$addsql .= ” and typeid=’$typeid’ “;
6 u# e& N; ~5 H) n% T}else{
, y" c; M, n; R4 C$addsql = ” where typeid=’$typeid’ “;$ W: ~8 D$ Q9 T J: E
}
2 ?$ E) l2 B) k& k}
7 P7 c6 Z0 F: p3 h 这样就不会显示的未审核稿件的标签. |
|