相信大家对DEDE5.6 DEDE5.7的站内搜索非常失望吧,U盘量产网也一样,虽然已经优化了让搜索结果按标题匹配,但比如搜索“金士顿”的时候会出现非常多有金士顿关键字的文章,完全是按最新发布时间排序,也就是说最新发布的显示在最前面,问题来了,大家想要搜索的结果都是大家都需要的结果,但最新发布的不一定是需要的,而几页的搜索结果让用户无所适从;7 d e* t2 w6 I, v+ z
如何解决呢,U盘量产网想到了按点击量来排序搜索结果,当然首先百度谷歌下有没有人遇到同样的问题,失望的是网上大多数的教程均为DEDE老版本的教程, 完全不能用,首先/include/inc_arcsaerch_view.php在新版本的DEDE织梦程序里根本找不到了,新版本的站内搜索PHP文 件其实是/include/arc.searchview.class.php,其次是$this->OrderBy = 'dede_full_search.aid desc';代码在新版本的arc.searchview.class.php文件里根本找不到,也就不能按网上的教程修改了;
5 S8 m& w( h% T 怎么办呢?问题肯定是可以被解决的,我发现在arc.searchview.class.php文件467行“排序方式”注释下面是搜索结果排序代码,怎么解决呢!请教了高高手,解决方式如下:
# M2 O2 t7 H' s& h, Z3 D! T 在/include/arc.searchview.class.php文件467行“//排序方式”注释下面 “//搜索”注释以上的代码改成如下代码:
2 u, |' W0 P/ W- q2 Z, h0 K6 V) u$ordersql = '';
- H7 k3 ?$ e! w9 D6 Sif($this->ChannelType< 0 ||$this->ChannelTypeid< 0){
/ X! G9 S$ {" A d V9 Rif($orderby=="id"){
4 P7 d, L8 D. E( S* E2 v! I$ordersql="order by arc.aid desc";0 U6 x1 [6 z3 c
}else if($orderby=="senddate"){
0 E2 ?& x) I6 v0 `# T0 N7 }- [$ordersql="order by arc.senddate desc";
+ C- M' f o" |6 ^. y+ h}else{8 E0 X- P, e9 K+ |5 ^5 W- l3 E
$ordersql=" order by arc.click desc";
1 j1 N# E. V, `! S! }* z$ z}
7 }2 h8 W% T' X# K0 ~}else{
3 ^9 t3 d- Y& K3 r. c! }$ V Dif($orderby=="senddate")
# j, p$ o2 Z/ l- L0 p{
* d+ B! b) O9 v- n$ordersql=" order by arc.senddate desc";
# x7 F9 p* X5 @- Y' s5 A}( f$ Q+ h" v. Q6 S1 E# O
else if($orderby=="pubdate")
1 Z( @1 D6 U m2 l# j$ \( d/ |7 C{) U' h; t q2 N+ a y8 Z P
$ordersql=" order by arc.pubdate desc";
: m9 I0 c1 b& p# t) C4 ^}
5 f% n8 F3 I$ p/ x3 ~1 ?9 Nelse if($orderby=="id") I; ]8 V1 Y3 @1 F: A+ t" o
{
" b. v$ w; b( S2 X$ordersql=" order by arc.id desc";
- Q; b' D' R/ Q0 U8 o' _}
8 I1 l* E. _2 M8 E: @/ d& u; qelse$ `1 J# Z0 o* T- {, y* J; D
{ R& l: b" w. l$ y
$ordersql=" order by arc.click desc";- H- U2 U; ?- O# H$ Z. Z
}
h2 B2 a a7 c# _0 `9 O}
# c5 Q/ Y" O j% s 测试一下是不是解决了呢:如下图所示1 P, Q$ S2 {! A/ L9 Y$ x$ n
4 o( j$ W: `2 r2 e# y) d) E; I 4 O: k% d' I" f/ R
赶紧修改你的搜索代码,优化织梦的搜索结果大大提高用户体验吧!本文由橡胶输送带托辊滚筒:http://www.shusongdai86.com/ 转载。
3 _* @; Y4 `- d$ w" ` |