- 注册时间
- 2009-12-25
- 最后登录
- 2021-7-10
- 在线时间
- 3302 小时
- 阅读权限
- 200
- 积分
- 10
- 帖子
- 13416
- 精华
- 1
- UID
- 2036
  
|
未审核稿件的标签会显示在标签列表页面, 这可以说是DEDE的一个bug吧. 虽然点击进入标签时, 相关的未审核文章不会显示出来. 但一个没有内容的标签内容页面总是不好的用户体验.
6 j# {5 e6 J. d' w$ `" v要解决这个问题, 让DEDE的不显示未审核稿件的标签, 就要修改标签的显示库文件 tag.lib.php
& v/ q+ ]0 u0 S! D3 B0 `
; P/ b5 v- i, `% b" n+ Ytag.lib.php这个文件可以在 /include/taglib/tag.lib.php 中找到, 这个文件就要控制 tag的显示, 在文件中找到以下代码.
+ A% h* g4 Q: P/ n$ M8 Bif(!empty($typeid))
! k: [! h8 D3 `- \$ O2 P3 z, Q) n{
3 b" p+ N4 ]9 e/ U0 G7 X; }$addsql = ” where typeid=’$typeid’ “;
$ k; T6 x8 n: w) u: Y( P}
4 X$ W9 \( U& S8 F% r3 o0 E, K 修改成:
$ F+ z1 ]3 R6 l$dsql->SetQuery(“Select tid From `#@__taglist` where arcrank<=-1″); $dsql->Execute();
: T- y( g1 s$ G7 G) _3 ~$ids = ”;
- k# Y8 O& `5 X0 x' C6 Gwhile($row = $dsql->GetArray())
0 Q* Y: `7 P" G5 p7 n$ V0 o2 c{. S7 v) T8 W8 W% L3 i8 N
$tid = $row['tid'];
* ^" ]/ j5 V! f; X( S9 D$cquery = “Select count(*) as dd From `#@__taglist` where tid = $tid and arcrank<=-1″;' v- `/ s% E2 q4 y$ a
$crow = $dsql->GetOne($cquery);
u' n' i, h k4 |3 I/ |4 aif(!$crow['dd'])2 j5 O% @5 [2 M+ W, j$ E3 R
{
; K3 [& w G: \4 t8 A9 u4 ?$ids .= ( $ids==” ? $row['tid'] : ‘,’.$row['tid'] );
0 ?/ G6 U3 T. A' x( h. U0 J- _}
: Z! \4 m" Y7 b}
2 Y! U% l/ m) t' r: C- q# @if($ids != ”)
; e- N0 A) V: _$ v7 p{) ]' B8 p2 z6 G6 c4 `) L
$addsql = ” where id not in($ids) “;
% G3 c- D6 c! V; j}
& E0 ?6 B% t) C [! T6 \5 x9 Sif(!empty($typeid))& v4 r7 Z9 [" O
{% F' |: b- v' L9 U
if($addsql)
- m( K: m# ^1 D1 y* K{
3 X) f1 ?+ `6 A% C( g% |# ]$addsql .= ” and typeid=’$typeid’ “;) |: m* R/ w/ h. H$ K
}else{
* n: {5 C4 X; h7 Q. ~& V7 e$addsql = ” where typeid=’$typeid’ “;
3 C4 g2 b$ s( H}2 Z o- t- i4 D: E( V; [
}
- ? o4 Y& l) i J% |/ i 这样就不会显示的未审核稿件的标签. |
|