实现此功能其实并不难,虽然官方没有在发布版里做好,但系统自带了关键词模型,只是没有实现,我们修改一下程序来实现。

首先找到 /phpcms/model/keyword_model.class.php 。

看一下keyword_model.class.php的内容

复制代码 代码如下:

defined('IN_PHPCMS') or exit('No permission resources.');

pc_base::load_sys_class('model', '', 0);

class keyword_model extends model {

public $table_name = '';

public function __construct() {

$this->db_config = pc_base::load_config('database');

$this->db_setting = 'default';

$this->table_name = 'keyword';

parent::__construct();

} }

从代码可以看出关键词表名叫 keyword 可是我们查看数据库里没有这样的表名。

那就参照相关搜索数据表 tb_search_keyword(我安装的时候用的是tb做表前缀)

新建一个热门搜索关键词数据表 keyword

复制代码 代码如下:

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `tb_keyword`

-- ----------------------------

DROP TABLE IF EXISTS `tb_keyword`;

CREATE TABLE `tb_keyword` (

`keyword` char(20) NOT NULL,

`typeid` tinyint(4) NOT NULL default '0',

`searchnums` int(10) unsigned NOT NULL default '0',

PRIMARY KEY  (`keyword`),

UNIQUE KEY `keyword` (`keyword`)

) ENGINE=MyISAM DEFAULT CHARSET=gbk;

这样数据表就建好了,接下来就是添加和调用数据了。

打开文件 /phpcms/models/search/index.php

找到

复制代码 代码如下:

//如果开启相关搜索功能

if($setting['relationenble']) {

在它上面加入以下代码

复制代码 代码如下:

//加入搜索关键词记录

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}{$v['keyword']}{/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}{$v['keyword']}{/loop}

{/pc}

修改完成,刷新一下,搜索,即可看到修改后的效果。

php怎么做热门搜索标签,实现phpcms v9全站热门搜索关键词自动调用相关推荐

  1. kingcms php 排序 标签,修改PHPCMS V9列表排序,listorder、order排序功能的方法

    phpcms文件调用默认是按照id排序的,就是按照时间顺序降序(最新的文章拍前面, 但是,我自己对文章做了排序,就无可奈何了 按照手册,就是 但是:文件发表顺序,排序错了,最晚发布的文章拍最后了 然后 ...

  2. phpcms v9 php标签,实现phpcms V9标签Tag伪静态

    关于伪静态的问题,原理上来说,是比较简单的,一方面是程序输出伪静态之后的链接,另一方面是Web服务器根据输出的链接进行URL重写.phpcms v9的tag标签伪静态也是遵循的这个原理,下面就分享一下 ...

  3. Phpcms V9全站伪静态设置方法

    为什么要伪静态?具体在这里就不说了,你懂的!一方面更新修改后不需要生成静态文件,另一方面为了SEO! 访问规则如下 1 2 list-{$catid}-{$page}.html content-{$c ...

  4. PHPCMS V9 全站调用会员信息代码

    PHPCMS V9在其他页面调用会员信息,默认只能获取存储在cookie中的 用户名及用户ID,对于很多个性化的网站,这是远远不够的,那如何在其他页面调用更多的会员信息呢? <?php $mem ...

  5. phpcms v9 模板标签技巧,模板标签常用方法

    phpcms v9 模板标签技巧,模板标签常用方法 phpcms v9模板制作常用代码集合 1.截取调用标题长度 {str_cut($r[title],36,'')} 2.格式化时间 调用格式化时间 ...

  6. phpCMS V9 - 使用教程

    目录 环境搭建 认识后台管理系统 我的面板 添加管理站点 发布点管理 基本设置 安全配置 PHPSSO 配置 角色管理 模块管理 添加公告模块 添加现有页面 标签使用 显示标签 扩展 环境搭建 php ...

  7. phpcms ajax 调取文章内容,Phpcms V9列表页使用GET标签调用指定文章内容的方法

    十一归来,开始上班咯,假期愉快吧? 十一长假结束,CMSYOU继续分享CMS教程,与大家一起迎接新一天的开始.继续新的挑战, 一起加油! 在续之前发表的原创教程Phpcms V9列表页调用栏目第一篇文 ...

  8. 从微博搜索相关话题下的所有热门博文链接

    从微博搜索相关话题下的所有热门博文链接 感谢eastmountyxz的思路指导,中国必胜!原github链接: https://github.com/eastmountyxz/Wuhan-data-a ...

  9. html input file 修改按钮文字_html单选按钮默认选中怎么做?input标签的单选按钮用法实例...

    本篇文章主要的向大家介绍了关于html input标签的单选按钮的使用方法,还有关于HTML input标签的单选默认按钮的做法.接下来我们一起来看看这篇文章吧 首先我们介绍的是在html input ...

最新文章

  1. mysql strtok_c函数: strtok 和 strtok_r 详解
  2. MarkDown之typora
  3. usb大容量存储设备驱动_usb无法识别怎么办 如何解决usb识别故障【详细步骤】...
  4. csdn相册超出了20m了,怎么办?求助
  5. 汽车上有哪些很难发现却非常实用的配置?
  6. 用于微服务和ML解决方案管道的消息队列(Kafka和Zookeeper)
  7. 1. crontab 简介
  8. Multisim14.0软件安装+破解
  9. 解读《美国国家BIM标准》 – BIM能力成熟度模型(三)
  10. 证件照底色一般是什么颜色 证件照底色更换软件推荐
  11. 2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num
  12. python练习之CheckiO-HOME小岛
  13. 第一届中国数字藏品大会顺利召开
  14. 标准日本语第二十三课
  15. 华中师大计算机专业陈鹏,考完就放假!这套华师真题,你能拿多少分
  16. RedisTemplate设置redis的key时出现\xac\xed\x00\x05t\x00\x0f前缀
  17. 安卓用户初次体验微信公众号信息流改版
  18. 高效提升效率的办公软件,快来get吧
  19. 微信小程序云开发上传word文档到云存储器
  20. 电脑驱动是什么,它有什么作用呢?

热门文章

  1. 计算机超链接文档顶端,word超级链接-常用Word文档,看看这些快捷键你知道几个?...
  2. Lottie进阶和原理分析
  3. 完成千万元A轮融资,小象生活能否成为折扣界的“永辉”?
  4. 密码加密工具类(非简单的MD5,UUID加密);
  5. 基于xposed的短信拦截
  6. python heic后缀图片文件转换成jpg格式
  7. python千人成像_Phptoshop怎么制作一个千人成像照片拼图?
  8. android拍照程序崩溃,android
  9. 要输就输给追求,要嫁就嫁给幸福!
  10. 简化版单例,使创建的类对象无论重新定义多少次都唯一