麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > CMS > Discuz > 正文

discuz全文檢索文章的實現方法

2024-07-09 22:52:36
字體:
來源:轉載
供稿:網友

首先說明:這個檢索是直接用like來實現的,所以,如果你的站數據量大,這樣很吃系統,自己掂量著辦。搜索門戶中的文章,并不是按這個走的,要么只能分中文要么只能分英文(學藝不精沒細了解啊,個人測試是這樣的)。而我目前碰到的要求是需要對文章也執行like。所以,經過研究,類比了下搜索文章標題的功能,成功實現了discuzX3對門戶中的文章進行全文檢索的功能,以下操作方法discuz版本為20140101的X3.1。具體方法如下:

1)用notepad++或其他文本編輯器打開下述文件

網站目錄sourceclasstabletable_portal_article_content.php

在下面的

  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. }

變為:

  1. class table_portal_article_content extends discuz_table
  2. {
  3. public function fetch_all_by_sql($where, $order = '', $start = 0, $limit = 0, $count = 0, $alias = '') {
  4. $where = $where && !is_array($where) ? " WHERE $where" : '';
  5. if(is_array($order)) {
  6. $order = '';
  7. }
  8. if($count) {
  9. return DB::result_first('SELECT count(*) FROM '.DB::table($this->_table).' %i %i %i '.DB::limit($start, $limit), array($alias, $where, $order));
  10. }
  11. return DB::fetch_all('SELECT * FROM '.DB::table($this->_table).' %i %i %i '.DB::limit($start, $limit), array($alias, $where, $order));
  12. }

上面添加那個方法才能用$query = C::t(‘portal_article_content’)->fetch_all_by_sql。

2)打開

網站目錄sourcemodulesearchsearch_portal.php

搜索

  1. </p> <p> foreach($query as $article) {
  2. $ids .= ','.$article['aid'];
  3. $num++;
  4. }

在其后添加如下代碼:

  1. if($num==0){
  2. list($srchtxt, $srchtxtsql) = searchkey($keyword, "content LIKE '%{text}%'", true);
  3. $query = C::t('portal_article_content')->fetch_all_by_sql(' 1 '.$srchtxtsql, 'ORDER BY aid DESC ', 0, $_G['setting']['search']['portal']['maxsearchresults']);
  4. foreach($query as $article) {
  5. $ids .= ','.$article['aid'];
  6. $num++;
  7. }
  8. }

代碼的意思是:如果搜標題沒搜到,那就用like來搜文章的內容。

保存后,更新下discuz的緩存,搜文章里的內容試試,如果能搜到,OK,大功告成~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费久久久 | 欧美日韩高清一区二区三区 | 中文字幕在线视频日本 | 亚洲午夜影院在线观看 | 成人视屏在线观看 | 中文字幕极速在线观看 | 国产午夜精品一区二区三区四区 | 精品国产一区二区三区四区阿崩 | 国产一级91 | 91久久国产露脸精品国产护士 | 国产影院在线观看 | 欧美a在线看 | 午夜天堂在线视频 | 2019天天干夜夜操 | 国产一区二区三区在线观看视频 | 久久久久北条麻妃免费看 | 粉嫩蜜桃麻豆免费大片 | 91精品国产91久久久 | 国产欧美在线一区二区三区 | 成人国产精品一区二区毛片在线 | 成人免费av在线播放 | 黄污在线看| 国产91丝袜在线播放 | av手机免费在线观看 | 黄色大片www | 九九热精 | 91精品国产日韩91久久久久久360 | 72pao成人国产永久免费视频 | 久久99精品国产99久久6男男 | 九九热视频免费观看 | 一级做a爱片性色毛片 | 蜜桃传媒视频麻豆第一区免费观看 | 久久久久国 | 91精品久久久久久久久网影视 | 一区二区三区四区高清视频 | 一级黄片毛片免费看 | 久久精品中文字幕一区二区三区 | 韩国一级免费视频 | 成人毛片免费在线 | 羞羞网站在线看 | 免费看搡女人无遮挡的视频 |