【欢迎来到PHPCMS模板网,客服QQ:420220301】

完美解决phpcms搜索框下的热词展示

发表时间:2019-07-24 09:27:59

文章来源:PHPCMS模板网

标签: 搜索  完美  展示 

分享:

打开文件 /phpcms/models/search/index.php
 
找到
 
 
 
 
            //如果开启相关搜索功能
            if($setting['relationenble']) {
 
 
 
在它上面加入以下代码
 
 
 
 
//加入搜索关键词记录 imbin 2011/9/13
            if(!empty($result)){
                $this->keyword_log_db = pc_base::load_model('keyword_model');
 
                    $res = $this->keyword_log_db->get_one(

array('keyword'=>$q,'typeid'=>$typeid));
                    if($res) {
                        //关键词搜索数+1
                        $this->keyword_log_db->update(array('searchnums'=>'+=1'),

array('keyword'=>$q));
                    } else {
                        $this->keyword_log_db->insert(array('keyword'=>$q
,'typeid'=>$typeid, 'searchnums'=>1));
                    }
            }
 
这样就实现了搜索关键词的添加
 
再来看看模板调用的实现,我用的是 get 标签。
 
首先看搜索结果页:

/phpcms/templates/default/search/list.html
 
 
{pc:get sql="SELECT keyword,typeid FROM tb_keyword WHERE typeid=$typeid AND searchnums > 5 ORDER BY rand()" num="5" return="keywords"}
                          {loop $keywords $k=>$v}<a href="/index.php?typeid={$v['typeid']}&m=search&c=index&a=init&q={$v['keyword']}">{$v['keyword']}</a>{/loop}
                          {/pc}
 
这里的排序我用了随机,因为我不想每次都出现一样的,呵呵。
 
附上按搜索次数排序的Sql语句:
SELECT keyword,typeid FROM tb_keyword WHERE typeid=$typeid ORDER BY searchnums DESC
 
 
 
如果是在首页调用,需要去掉$typeid。BTW:如果要在非搜索结果页都要去掉$typeid
 
 
 
 
{pc:get sql="SELECT keyword,typeid FROM tb_keyword ORDER BY searchnums DESC" num="8"  return="keywords"}
 
  {loop $keywords $k=>$v}<a href="/index.php?typeid={$v['typeid']}

&m=search&c=index&a=init&q={$v['keyword']}">{$v['keyword']}</a>{/loop}
 
                          {/pc}
 
 
 
OK了,DIY完成!

PHPCMS模板网,phpcms响应式模板,phpcms知识网,phpcms企业站模板。【温馨提示:本站模板,均可提供PHPCMS源码】