php全站文章搜索,Discuz X3.1全站文章全文检索的实现方法
今天无忧主机小编分享的这个全站文章全文检索方法是直接通过like来实现的,这个方法比较适用于中小型网站。以下操作方法discuz版本为20140101的X3.1。具体方法如下:
首先,这是通过对文件修改添加代码来实现功能的,所以我们需要准备FTP工具,和高级记事本(notepad++)。
第一步:连接FTP工具,到指定网站程序目录下找到文件:\source\class\table\table_portal_article_content.php,找到后,邮件传输到本地,用Notepad打开编辑;
第二步:在该文件内添加代码:
在这段代码:
class table_portal_article_content extends discuz_table
{
下面新增如下代码:
public function fetch_all_by_sql($where, $order = '', $start = 0, $limit = 0, $count = 0, $alias = '') {
$where = $where && !is_array($where) ? " WHERE $where" : '';
if(is_array($order)) {
$order = '';
}
if($count) {
return DB::result_first('SELECT count(*) FROM '.DB::table($this->_table).' %i %i %i '.DB::limit($start, $limit), array($alias, $where, $order));
}
return DB::fetch_all('SELECT * FROM '.DB::table($this->_table).' %i %i %i '.DB::limit($start, $limit), array($alias, $where, $order));
}
新增完代码以后,上面添加那个方法才能用$query = C::t(‘portal_article_content’)->fetch_all_by_sql。
第三步:把\source\module\search\search_portal.php文件下载到本地,编辑搜索一下代码:
foreach($query as $article) {
$ids .= ','.$article['aid'];
$num++;
}
找到这段代码以后,在后面添加以下代码:
if($num==0){
list($srchtxt, $srchtxtsql) = searchkey($keyword, "content LIKE '%{text}%'", true);
$query = C::t('portal_article_content')->fetch_all_by_sql(' 1 '.$srchtxtsql, 'ORDER BY aid DESC ', 0, $_G['setting']['search']['portal']['maxsearchresults']);
foreach($query as $article) {
$ids .= ','.$article['aid'];
$num++;
}
}
两个文件都修改成功以后,就可以保存并上传到空间上面去了,原来的文件,可以在文件重命名。(直接覆盖也是可以的,但是小编不推荐。)
以上新增两段代码的意思是:如果搜文章标题没搜到,那就用like来搜文章的内容。
两个文件都上传到了空间程序指定目录下后,登陆DZ网站后台更新下discuz的缓存,然后清空一下浏览器缓存,搜文章里的内容试试,如果能搜到,那么无忧主机小编送你五个字:“那都不是事”。
本文地址:https://www.51php.com/discuz/14943.html
php全站文章搜索,Discuz X3.1全站文章全文检索的实现方法相关推荐
- 【视频教程】帝国CMS制作网站系列教程13—全站全文搜索及模板
作为一个程序员,搭建一个自己的博客网站是件非常容易的事情,但是作为很多非程序员非计算机专业的学习者来讲,可能就需要花点时间进行学习,而如果你想通过自学来学习怎么制作一个属于自己的网站的话,那这套帝国C ...
- php给文章关键词加内连,织梦实现全站按TAG和关键字调用相关文章教程
织梦DedeCms5.7全站按TAG和关键字调用相关文章方法,可单用tag来调用相关文章,也可用tag+keyword来调用相关文章(默认tag优先于keyword,可以自己排序),非常适合SEO,经 ...
- CSDN 博客 修改文章搜索为 bing 搜索,且只搜索自己的博客的方法
CSDN 博客 修改文章搜索为 bing 搜索,且只搜索自己的博客的方法 csdn 自带的博客搜索调用的百度的代码,但是搜索效果很不理想,而且默认为全站搜索. 在我们的博客里面进行搜索的大多数人,都应 ...
- Discuz X3.4 插件创建与插件模板配置简介
本篇博客将介绍现行Discuz! X3.4软件中插件的概念.插件的工作原理以及如何自己创建新插件或者修改插件模板. 本文内容来自我们团队项目开发过程中对Discuz! X3.4软件的学习理解,博客既是 ...
- discuz x3.4在https下实现首页去除 portal.php 尾巴
discuz x3.4版本,开启了全站https后,又添加了门户内的频道为首页.导致每次访问主页都会改变url,后面加上 portal.php?mod=list&catid=1 这么一个尾巴, ...
- Discuz X3.1 论坛修改的方法(门户的修改)
1.修改门户相关分类 discuz如何去掉门户相关分类?discuz这款cms是非常好用的,特别是它的diy功能,在discuzcms中很多站长都需要改很多地方,比方说discuz门户分类和文字分类右 ...
- Discuz X3.1 论坛修改的方法
为什么80%的码农都做不了架构师?>>> 本人在实际操作中遇到的一些问题.自己的找资料修改并记录下来.希望看的人能赞一下.不要直接复制粘贴走.转载注明出处哦!如果有想咨询的可以加QQ ...
- phpcms v9和discuz X3.1实现同步登陆退出论坛(已实现)
网络上文章很多,按步骤配置好了之后phpcms可以同步登录dz,但是dz登录后状态却无法同步到phpcms,网络上找了很多资料都大同小异,头大.只能自己调试了,废话不多说了. 以下网络上抄的安装步骤, ...
- 使用nginx搭建Discuz X3.4论坛的QQ互联登录失败问题
问题描述 使用nginx搭建了一个基于http协议的Discuz X3.4论坛.在安装QQ互联插件后,尝试登录问题是失败,提示以下内容: 抱歉,当前存在网络问题或服务器繁忙,详细错误:connect_ ...
最新文章
- IsPostBack的使用
- Task05:青少年软件编程(Python)等级考试模拟卷(一级)
- 中国AI研究新突破,周六见!
- 简析将shp导入Oracle并利用geoserver将导入的数据发布
- 深度学习的一些经验总结和建议| To do v.s Not To Do
- 移动设备应用程序开发入门一:创建用于设备的 Windows 窗体应用程序并打包进行部署...
- vim 删除多行_Vim神器的五个高效插件,新老司机别错过!
- [专栏精选]Unity中编码Encoding脱坑指南
- 空调开28度,一晚上会消耗多少电?空调耗电量与什么有关?
- 答读者问(7):相关实习、在软件开发和测试等论文和关系问题
- 计算机屏幕上放映演示文稿的是,2015年职称计算机考试PowerPoint单选题模拟练习...
- Python 根据身份证号判断所属省份,生日与性别
- 移动流量卡是月底清零吗,什么时候购买次月套餐?
- java 时区id对应时区名称,Java 可以或失去的全部的时区ID
- Color Constancy 色彩恒常性(1)White Patch Retinex
- RAID磁盘阵列是什么
- 《异常检测——从经典算法到深度学习》15 通过无监督和主动学习进行实用的白盒异常检测
- matlab lm计算方式,lm算法(lm算法原理介绍)
- react动态格栅(解决目录树DirectoryTree TreeNode 展开后界面错版问题)
- 用C#实现两个整数集的输入和并集
热门文章
- 训练千亿参数模型的法宝,昇腾CANN异构计算架构来了~
- 越来越受欢迎的Vue想学么,90后小姐姐今儿来教你
- Git:改变世界的一次代码提交
- 【华为云技术分享】【技术总结】从Hash索引到LSM树
- 无码系列-2-代码架构空想
- 弹性文件服务解密 -- 块存储、文件存储、对象存储的区别
- C语言提前结束for循环,[新人求指教]51C语言编程可否用中断令循环结束提早结束...
- c语言如何运行txt文件,如何使用EOF在C中运行文本文件?
- php二分法 冒泡 快速排序,PHP 常见算法【冒泡排序, 快速排序, 插入排序, 取舍排序, 二分法查找, .】...
- 与素数有关的一些性质及证明(一)