- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
  
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.
7 ]- D/ @* @( `; _' Q3 A要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php
7 e6 W$ A0 A% V; ?' w, c, t1 C0 T5 ^6 y m$ N2 D1 r4 _: @
tag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.: j' a; S! v$ Z `5 |3 M
if(!empty($typeid)): F2 h$ G$ Q. i9 Q/ T& Q
{
3 @2 W& Q; K" |2 J$addsql = ” where typeid=’$typeid’ “;
f. Z- g# X9 l! S# W5 X}) t7 M$ \ O7 \
修改成:
2 g3 g, _: d) M: Z2 e$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();
' m- L2 G" m. y: U I$ids = ”;! C: |+ X5 |3 A
while($row = $dsql->GetArray())
0 _# V4 _' e: w+ r{& X0 j/ e4 _, o& v% k+ f4 I- y; b2 S) L
$tid = $row['tid'];
0 b3 u$ c1 [! p9 S" } F5 Q$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;
# L/ W0 h# l& X4 B: v& b$crow = $dsql->GetOne($cquery);
+ L% R9 A% U$ ]3 dif(!$crow['dd'])6 a+ R- `" @% \; ^/ i
{& p2 Y$ B, V6 m1 p
$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );" k$ I6 r0 j6 a. X6 {& \
}5 x" J' W: L$ Q4 h! v4 p
}1 G8 X6 x; W }9 ]: h
if($ids != ”)
5 @0 c+ u" j/ |* P, I{# q* i5 E O' p3 P$ ?- r+ Z' N
$addsql = ” where id not in($ids) “;4 b3 {. G1 m8 q' }1 t; u
}3 s/ u, \. U+ m
if(!empty($typeid))
* K( C( S7 m; u4 `5 {{ | {5 e' V. ^1 W N7 [) y5 O v) O
if($addsql)- t( r( |9 H P/ W; y. q
{- V* `9 n! L4 V( u0 O: f, F9 d5 B" p
$addsql .= ” and typeid=’$typeid’ “;* B) F& Y6 a; O* A* X! X
}else{4 c6 U4 z: X% c6 U% X/ w
$addsql = ” where typeid=’$typeid’ “;
% @( K$ O# j+ |}9 E( I! ~ O5 { v; @1 Z, B
}
9 I( X5 B k6 X7 z _- l 这样就不会显示的未审核稿件的标签. |
|