php怎么做热门搜索标签,实现phpcms v9全站热门搜索关键词自动调用
实现此功能其实并不难,虽然官方没有在发布版里做好,但系统自带了关键词模型,只是没有实现,我们修改一下程序来实现。
首先找到 /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全站热门搜索关键词自动调用相关推荐
- kingcms php 排序 标签,修改PHPCMS V9列表排序,listorder、order排序功能的方法
phpcms文件调用默认是按照id排序的,就是按照时间顺序降序(最新的文章拍前面, 但是,我自己对文章做了排序,就无可奈何了 按照手册,就是 但是:文件发表顺序,排序错了,最晚发布的文章拍最后了 然后 ...
- phpcms v9 php标签,实现phpcms V9标签Tag伪静态
关于伪静态的问题,原理上来说,是比较简单的,一方面是程序输出伪静态之后的链接,另一方面是Web服务器根据输出的链接进行URL重写.phpcms v9的tag标签伪静态也是遵循的这个原理,下面就分享一下 ...
- Phpcms V9全站伪静态设置方法
为什么要伪静态?具体在这里就不说了,你懂的!一方面更新修改后不需要生成静态文件,另一方面为了SEO! 访问规则如下 1 2 list-{$catid}-{$page}.html content-{$c ...
- PHPCMS V9 全站调用会员信息代码
PHPCMS V9在其他页面调用会员信息,默认只能获取存储在cookie中的 用户名及用户ID,对于很多个性化的网站,这是远远不够的,那如何在其他页面调用更多的会员信息呢? <?php $mem ...
- phpcms v9 模板标签技巧,模板标签常用方法
phpcms v9 模板标签技巧,模板标签常用方法 phpcms v9模板制作常用代码集合 1.截取调用标题长度 {str_cut($r[title],36,'')} 2.格式化时间 调用格式化时间 ...
- phpCMS V9 - 使用教程
目录 环境搭建 认识后台管理系统 我的面板 添加管理站点 发布点管理 基本设置 安全配置 PHPSSO 配置 角色管理 模块管理 添加公告模块 添加现有页面 标签使用 显示标签 扩展 环境搭建 php ...
- phpcms ajax 调取文章内容,Phpcms V9列表页使用GET标签调用指定文章内容的方法
十一归来,开始上班咯,假期愉快吧? 十一长假结束,CMSYOU继续分享CMS教程,与大家一起迎接新一天的开始.继续新的挑战, 一起加油! 在续之前发表的原创教程Phpcms V9列表页调用栏目第一篇文 ...
- 从微博搜索相关话题下的所有热门博文链接
从微博搜索相关话题下的所有热门博文链接 感谢eastmountyxz的思路指导,中国必胜!原github链接: https://github.com/eastmountyxz/Wuhan-data-a ...
- html input file 修改按钮文字_html单选按钮默认选中怎么做?input标签的单选按钮用法实例...
本篇文章主要的向大家介绍了关于html input标签的单选按钮的使用方法,还有关于HTML input标签的单选默认按钮的做法.接下来我们一起来看看这篇文章吧 首先我们介绍的是在html input ...
最新文章
- mysql strtok_c函数: strtok 和 strtok_r 详解
- MarkDown之typora
- usb大容量存储设备驱动_usb无法识别怎么办 如何解决usb识别故障【详细步骤】...
- csdn相册超出了20m了,怎么办?求助
- 汽车上有哪些很难发现却非常实用的配置?
- 用于微服务和ML解决方案管道的消息队列(Kafka和Zookeeper)
- 1. crontab 简介
- Multisim14.0软件安装+破解
- 解读《美国国家BIM标准》 – BIM能力成熟度模型(三)
- 证件照底色一般是什么颜色 证件照底色更换软件推荐
- 2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num
- python练习之CheckiO-HOME小岛
- 第一届中国数字藏品大会顺利召开
- 标准日本语第二十三课
- 华中师大计算机专业陈鹏,考完就放假!这套华师真题,你能拿多少分
- RedisTemplate设置redis的key时出现\xac\xed\x00\x05t\x00\x0f前缀
- 安卓用户初次体验微信公众号信息流改版
- 高效提升效率的办公软件,快来get吧
- 微信小程序云开发上传word文档到云存储器
- 电脑驱动是什么,它有什么作用呢?
热门文章
- 计算机超链接文档顶端,word超级链接-常用Word文档,看看这些快捷键你知道几个?...
- Lottie进阶和原理分析
- 完成千万元A轮融资,小象生活能否成为折扣界的“永辉”?
- 密码加密工具类(非简单的MD5,UUID加密);
- 基于xposed的短信拦截
- python heic后缀图片文件转换成jpg格式
- python千人成像_Phptoshop怎么制作一个千人成像照片拼图?
- android拍照程序崩溃,android
- 要输就输给追求,要嫁就嫁给幸福!
- 简化版单例,使创建的类对象无论重新定义多少次都唯一