• 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添加热门搜索关键词的方法

作者:站长图库 字体:[增加 减小] 来源:互联网

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

通过观察可以发现系统是自带了关键词模型的,只是没有实现。
或许是放在下一个版本里,呵呵~ 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好友复制网址打印

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

相关文章

  • 织梦后台非常卡,经常无反应怎么办
  • 浅谈小程序中下拉刷新和上拉加载功能怎么实现?(附代码)
  • 搜索引擎优化的文章营销策略
  • Photoshop CS6制作飞溅的彩色液体字
  • PHP简短而安全的数组遍历
  • PHP中的__callStatic函数如何使用
  • PHP中preg_match函数使用详解(附代码实例)
  • 织梦dedecms会员中心模板带会员签到赚金币功能
  • vue3 watch和watchEffect的使用以及有哪些区别
  • 如何增加外链,增加外链方法汇总

文章分类

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

最近更新的内容

    • 总结分享Go中常用的strings函数
    • 详解ThinkPHP6结合GuzzleHTTP发送HTTP请求
    • vue3为什么快?vue3的效率提升主要在哪方面?
    • PhotoShop制作一款简单的螳螂绿色文字主题壁纸
    • PHP调用实现波场交互[支持TRX/TRC20]
    • 404页面对网站SEO不可忽视
    • Photoshop制作创意的云朵图案艺术字教程
    • 小程序开发实践之浅析如何获取手机号码
    • 浅析如何从小程序跳到H5页面/微信小程序跳转到H5页面实例解析
    • JavaScript和CSS交互的5种方法的学习

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

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