- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
  
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.
9 j$ ] {: q# F7 G2 o, K要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php! d5 K( L! k [5 Q1 R2 o# E# _
2 K$ u @" e+ H$ _: _& ~2 i: ztag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.
. _1 O/ w B: Y3 q3 l u+ yif(!empty($typeid))
" q( R8 o4 A! C# h0 C: U{0 `& [# I/ ^5 ]
$addsql = ” where typeid=’$typeid’ “;
6 l$ k# W/ n& M( k0 ]" N6 O% ^}; A* M5 ]! `6 k2 P3 W
修改成:
6 ^9 b0 A5 s/ k. s$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();+ {8 V- T# l5 |) J/ M- J
$ids = ”;
6 c4 a$ W0 U/ b. \, _, M! t! y+ owhile($row = $dsql->GetArray())# f, p, R U: P( ?! t. S
{- G- K, h2 w( R' g- {; g
$tid = $row['tid'];0 r) i0 R7 z# U" z ` Y: F. @; b
$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;
9 u$ k, ?$ s( R! c: s6 k$crow = $dsql->GetOne($cquery);
0 C3 m9 K4 x, X2 B* I' _/ A4 ?if(!$crow['dd']) O- a3 A; k/ R4 {" y8 n! V
{
; v! V% c& Y$ F3 y( m$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );
- w3 }, }% \' Z# Z}$ E3 A, g8 ~' z% U& a; @' R
}9 m. k& V' o/ f' @2 z8 M
if($ids != ”)& D; V. D- n, }9 q
{
C8 W( ~$ f2 b; a% w0 j# A$addsql = ” where id not in($ids) “;
/ L! L1 q3 F8 A* `5 K}
! d* \9 ^1 l9 N0 j& G# j( Pif(!empty($typeid))3 q; f1 i2 c& E
{
/ D+ l; g3 H6 k. k& Qif($addsql)
4 K5 B3 ~/ L! L8 X1 j{
6 Z% J) M- q5 J3 @7 w$addsql .= ” and typeid=’$typeid’ “;
w, {5 `2 X1 t6 w; `- e6 ^}else{- B6 q6 ?$ f) ~" v
$addsql = ” where typeid=’$typeid’ “;& Q* Z, U0 r6 N) l6 Q& j( {4 K
}
W- K! d+ i- o# _8 p& W}
. i/ q- `/ A \. c6 B" G 这样就不会显示的未审核稿件的标签. |
|