- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
  
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.$ B/ |: ^. _+ _$ k1 h Z
要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php" R& f" r- ~& I F1 M
+ E2 k. W% R; Q' i- b$ }$ N/ {
tag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.* r/ D5 ~5 ?. _, D9 k$ u
if(!empty($typeid))3 O9 B; J) C( j" v; U! `
{7 a9 f0 a% G, G) @& r
$addsql = ” where typeid=’$typeid’ “;
* R" ^( }- n* ~}! w$ y8 V& x5 D5 g f
修改成:
: z8 p) i- i, \" {4 V. c$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();6 B7 Z2 \; u( i5 O( Q m
$ids = ”;
3 x% K( N3 [. i M' Twhile($row = $dsql->GetArray())
; M+ n, [) h- N4 w& Z4 T0 e% J( r{8 s3 |) v) n7 e# w: T2 g2 j+ x
$tid = $row['tid'];
/ g, \$ }1 L7 C1 T5 ~: m$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;, }* ~" r4 t. i9 z6 _4 ^1 g) [
$crow = $dsql->GetOne($cquery);0 V8 u) v% Q0 ]5 t
if(!$crow['dd'])2 V! s I( O$ G+ O
{
0 R. z0 @& J3 z" A9 ]$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );
/ O% G3 D6 Q# U/ w2 y% `2 e}" A/ D' U( c! ^- n1 Y0 T. n( F
}# P5 H$ i9 O+ }4 z+ l
if($ids != ”)
y+ ^' K& U$ Y- J( w0 j% k8 U7 r{2 W; W$ h6 T" b6 K4 x
$addsql = ” where id not in($ids) “;
/ n& e- t+ i: G6 u- B2 _7 A}
5 O* H" M9 ]6 j; `6 F0 oif(!empty($typeid))
, I$ c% O& J+ S9 ]6 J& p{
9 Y% U: k% o# b0 ^: ?1 mif($addsql)
& J/ {* P/ k/ m( i{
4 K N# g4 r; G* m" d& N$addsql .= ” and typeid=’$typeid’ “;
0 m1 Q/ o* E, w3 `: l}else{+ W) x6 J* `" ?. U) w
$addsql = ” where typeid=’$typeid’ “;
, } }& x- h4 f- N7 i, z0 _}, z+ X; V g5 V4 J# \5 o
}, g, r* [# J. A" |/ B
这样就不会显示的未审核稿件的标签. |
|