• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > phpcms v9添加热门搜索关键词的方法

phpcms v9添加热门搜索关键词的方法

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了等相关知识,希望对您有所帮助

通过观察可以发现系统是自带了关键词模型的,只是没有实现。
或许是放在下一个版本里,呵呵~ DIY就从 /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']) { 

在它上面加入以下代码

//加入搜索关键词记录 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完成!

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2022-04-29织梦DEDECMS首页调用单页文档内容并带过滤HTML的方
  • 2022-04-29PHP+Mysql+jQuery找回密码
  • 2022-04-29Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
  • 2022-04-29如何使用PhpSpreadsheet导入导出Excel
  • 2022-04-29织梦后台非常卡,经常无反应怎么办
  • 2022-04-29图文详解Thinkphp5多语言切换(中英文实例)
  • 2022-04-29优化Laravel数据库查询的18个技巧
  • 2022-04-29避坑!Laravel数据库迁移功能的一个坑
  • 2022-04-29Photoshop绘制立体效果的紫色心形宝石
  • 2022-04-29一文讲解ajax实现无刷新上传和下载(代码详解)

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • PS绘制苹果APP应用金属相机图标
    • 如何使用微信获取openid的静默及非静默
    • 如何修改织梦cms的幻灯片调用为全站调用
    • Discuz_X3.4的数据库创建表SQL错误的解决方法
    • Nodejs实现微信分账的示例代码
    • 看看Vue中如何封装一个自动化注册全局组件
    • navicat出现1045错误怎么解决
    • Linux下正确开启关闭redis的命令是什么
    • Python查询工信部网站备案信息
    • Illustrator教程:如何导出已经设计好的按钮

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有