- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.
2 k' p" j* ?" H! F要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php
. A( y% l, C1 J" u1 E3 Q5 ]4 x6 ~8 L4 N- i* f
tag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.7 H8 ~ `% ]' g) {' B& H$ u' q! g, g
if(!empty($typeid))
( B7 Y+ ]. |+ h# \{( G) e( a( V+ _
$addsql = ” where typeid=’$typeid’ “;8 a. C) Z; H* o2 T; z
}' Y; G1 U3 u7 X$ B1 t/ U# ?5 b: W
修改成:
& J! E& U' D! s% h" {$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();/ X! O5 z$ X% {" \0 Q# C2 H
$ids = ”;: }# d' i5 Y* Z( G: r/ ?1 n0 E
while($row = $dsql->GetArray()) K6 X2 G# A( i+ \( O
{- s( k5 C( i) B9 r; G( q
$tid = $row['tid'];
" q4 R9 d) o/ U3 }: O$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;# W5 {3 r* L& I8 ]; y$ R6 O
$crow = $dsql->GetOne($cquery);
% u: s/ |1 ^) _, T. y0 O7 E! z# o. ?if(!$crow['dd']) S7 ]6 k: k# {/ N
{
0 Q$ s) x8 i& E( W$ O% ]8 i2 B$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );# |3 A9 r% V- W% _. J
}! Y5 T n& ^" ?# v6 n, e% D* B
}) v9 X: |' D$ [' m3 ]
if($ids != ”)
" ~; y- ^ Y) O) v{
. E: v. u* v7 ~! o$addsql = ” where id not in($ids) “;
# s; x& g4 |: _: X( A8 v}8 w6 i t% g. u4 p3 G
if(!empty($typeid))
5 d+ e) q( z: m5 d{7 `3 n& V; H: X/ U6 I4 q
if($addsql)2 J) g% ~# b1 |$ P. n8 f8 O3 }
{
. n2 a. g$ a7 [" D5 C9 ?$addsql .= ” and typeid=’$typeid’ “;! n; Y$ f. z& s _3 O
}else{
- f- o; _" e, p1 q) p2 a) d$addsql = ” where typeid=’$typeid’ “;
0 ]$ {, ?6 }% A' W- h+ u( o}
% z$ ?) R% B6 Z/ W}
1 |" M" g4 n8 O9 I! a 这样就不会显示的未审核稿件的标签. |
|