【实测】DISCUZ X全站文章全文检索的实现方法-Discuz教程下载

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

开通本站Svip会员,全站资源免费下
首先,这是通过对文件修改添加代码来实现功能的,所以我们需要准备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支持全文搜索功能,包括搜索标题中的关键词、文章内容中的关键词、摘要中的关键词等
【原创】删除Discuz搜索结果页面的加粗加红导致自定义的功能代码错误教程

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部