- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
  
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.
/ @: f7 @4 q6 U9 E0 s要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php
6 }* F/ D* V- l" \. o7 V9 k. O
9 n- I# i) f# B; t# Wtag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.
2 N' n+ \. u) n" xif(!empty($typeid))
2 L4 F. J/ x" h+ _2 _% Q{6 {9 ^( y) o: m7 e% }3 f
$addsql = ” where typeid=’$typeid’ “;( _ R3 z6 ? T. Q' a, y
}9 L1 C2 E# m& T
修改成:
# l" X2 c( C3 R6 d8 V7 U8 A& H: l$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();
/ r1 x+ V- W! ]9 q+ l( \! {+ c4 H: v$ids = ”;
/ _- n: r$ D3 k' C3 R& m Twhile($row = $dsql->GetArray())
6 V1 C4 m- R5 H2 o8 ]+ v{) ^# D) _7 J# b! Q3 y$ t$ S2 _6 [+ ]
$tid = $row['tid'];
e+ ]' L9 g& Y# Z( r; u9 M$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;8 Z' T4 U2 y- t) t( J) }8 F
$crow = $dsql->GetOne($cquery);/ W. S/ Q- i- U2 ~' N1 Z
if(!$crow['dd'])* g, y8 b- s9 n
{
f+ S' h3 t, m5 I, Y4 u$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );
5 p3 H& w" A% O, k9 m}2 t, Y0 d/ E7 w/ i
}
1 v# c' L7 ~& M- p- l$ Y/ G9 \if($ids != ”)
) J) \' p: w( P2 a8 U5 d3 T, ~( l{/ k" j" L. Z0 V* M3 m+ j$ Z1 H
$addsql = ” where id not in($ids) “;9 f9 }/ ~* q& N& v
}
, N% T8 F8 ~8 U- l1 Q$ }- z, Jif(!empty($typeid))
5 x# {/ b3 Q1 B C$ B2 Z) t L{" I- n$ o V7 D* W7 z3 z$ ^
if($addsql)
2 @7 Q6 T$ E* D{
. X/ d& G: N) H8 S. T( @+ c" m7 h$addsql .= ” and typeid=’$typeid’ “;/ ]3 c" e, y4 Q! p, f2 Y1 S
}else{
+ s6 D0 r6 p- g$addsql = ” where typeid=’$typeid’ “;; D4 w8 X8 G+ _6 \$ O+ L) e6 p
}% h8 _0 m2 T' d: u' W; F, N( Q. K+ F5 z
}5 u* c: w2 e% y+ P* [
这样就不会显示的未审核稿件的标签. |
|