- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
  
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.1 S/ m- l* j0 s2 n
要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php
9 W ^# m2 ?. h4 e3 v7 ?5 Q! r, H! h
tag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.6 W9 [1 ~! g% ?, {0 Y, {. ~& u
if(!empty($typeid))6 X/ _" u+ S Z; v0 `" |, e. ~: z
{% I: j: T$ u% ?" X% ^
$addsql = ” where typeid=’$typeid’ “;
1 T& W% i# A! n2 E# M}7 B& X5 s y( l# G+ E
修改成:
) n2 f5 ~) G+ T0 {; }$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();
2 r3 K0 q! |3 ]3 N1 d% q x$ids = ”;
5 R" e& y/ Q' h3 H3 `3 \while($row = $dsql->GetArray())3 E! m; e. ~+ v
{- ?7 o4 o- t) U+ ~
$tid = $row['tid'];4 E% U2 c" ^9 Y; M! k# b' R1 X
$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;$ ] S7 d4 s- ~% L; g
$crow = $dsql->GetOne($cquery);2 H3 b9 ?- ]( c6 L3 B5 }- b; S* L$ ?
if(!$crow['dd']). A2 n' b1 D; B# e! C
{
3 W) G1 X) R/ b R$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );0 y2 X# b2 h# m/ s3 }
}' |; W) q0 [2 {0 ~
}
- f% H- u$ D) ?4 s; dif($ids != ”)
. r+ d$ A$ ~# L" i* `& N& y{; g- E) s$ x" F! j- D; ?2 j$ `) _0 J% A
$addsql = ” where id not in($ids) “;7 m* t. g4 D: Z4 M& N( `8 f( a
}! N' [- Y3 Q% \% t- Y
if(!empty($typeid))
' |: g( F1 f$ c3 w, z, }{1 T/ [# v" \, X2 V7 A
if($addsql): v: n, h' m5 p0 x( i
{
* S. `# w4 {5 Q7 ~7 [$addsql .= ” and typeid=’$typeid’ “;
: H3 i# o" X/ z+ U! `3 o& N# L}else{; B) p3 S! T' |* D9 z% s9 b
$addsql = ” where typeid=’$typeid’ “;! P4 G* I$ ~) Z z# A
}# H: f5 b. c3 O! C& G& w: L* D
}
- j! u: K" ~/ N/ u$ B" I/ \ 这样就不会显示的未审核稿件的标签. |
|