Discuz模板|Discuz插件|Discuz教程|Discuz素材免费下载

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告
温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)所有用户可全部免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需购买会员组方可下载),如本站没有您需要的插件或模板,请自行前往淘宝互站网送吗网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

【实测】DISCUZ X全站文章全文检索的实现方法

[复制链接]
tuyuanma 发表于 2020-11-25 11:16:36 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


首先,这是通过对文件修改添加代码来实现功能的,所以我们需要准备FTP工具,和高级记事本(notepad++)。
第一步:连接FTP工具,到指定网站程序目录下找到文件:\source\class\table\table_portal_article_content.php,找到后,邮件传输到本地,用Notepad打开编辑;

第二步:在该文件内添加代码:
找到代码:
  1. class table_portal_article_content extends discuz_table
  2. {
复制代码
下面新增如下代码:
  1.         public function fetch_all_by_sql($where, $order = '', $start = 0, $limit = 0, $count = 0, $alias = '') {
  2.                 $where = $where && !is_array($where) ? " WHERE $where" : '';
  3.                 if(is_array($order)) {
  4.                         $order = '';
  5.                 }
  6.                 if($count) {
  7.                         return DB::result_first('SELECT count(*) FROM '.DB::table($this->_table).' %i %i %i '.DB::limit($start, $limit), array($alias, $where, $order));
  8.                 }
  9.                 return DB::fetch_all('SELECT * FROM '.DB::table($this->_table).' %i %i %i '.DB::limit($start, $limit), array($alias, $where, $order));
  10.         }
复制代码

新增完代码以后,上面添加那个方法才能用$query = C::t(‘portal_article_content’)->fetch_all_by_sql。

第三步:把\source\module\search\search_portal.php文件下载到本地,找到如下代码:
  1.                 foreach($query as $article) {
  2.                         $article['dateline'] = dgmdate($article['dateline']);
  3.                         $article['pic'] = $article['pic'] ? pic_get($article['pic'], '', $article['thumb'], $article['remote'], 1, 1) : '';
  4.                         $article['title'] = bat_highlight($article['title'], $keyword);
  5.                         $article['summary'] = bat_highlight($article['summary'], $keyword);
  6.                         $articlelist[] = $article;
  7.                 }
复制代码
在这段代码后面添加以下代码:
游客,如果您要查看本帖隐藏内容请回复
找到如下代码
游客,如果您要查看本帖隐藏内容请回复
在这段代码后面添加以下代码:
游客,如果您要查看本帖隐藏内容请回复
两个文件都修改成功以后,就可以保存并上传到空间上面去了,原来的文件,可以在文件重命名。(直接覆盖也是可以的,但是小编不推荐。)
以上新增两段代码的意思是:如果搜文章标题没搜到,那就用like来搜文章的内容。
两个文件都上传到了空间程序指定目录下后,登陆DZ网站后台更新下discuz的缓存,然后清空一下浏览器缓存。

结合相关教程:【实测】几步即可让DZ支持全文搜索功能,包括搜索标题中的关键词、文章内容中的关键词、摘要中的关键词等

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告
493651246站长邮箱:tuyuanma@qq.com 站长QQ:3197813386

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

快速回复 返回顶部 返回列表