VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

phpcms无限制模式搜索的设置方法(phpcms无限制模式搜索的设置方法是什么)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

phpcms无限制模式搜索的设置方法(phpcms无限制模式搜索的设置方法是什么)

Phpcmsv9全站搜索,不限型号!

phpcms无限制模式搜索的设置方法

Phpcmsv9全站搜索,不限型号,今日增长见识。众所周知,phpcms根据模型进行搜索。使用此方法后,您可以搜索整个站。

只需修改v9的默认搜索功能,就可以搜索全站内容,无需遵循模式。

下面是修改后的搜索模块中的index.php文件。

& lt?PHP defined(& amp;#39;IN _ PHPCMS & amp#39;)或退出(& amp#39;没有权限资源。& amp#39;);PC _ base::load _ sys _ class(& amp;#39;形式与技巧。#39;,& amp#39;& amp#39;,0);PC _ base::load _ sys _ class(& amp;#39;格式& amp#39;,& amp#39;& amp#39;,0);类索引{ function _ _ construct(){ $ this-& gt;db = PC _ base::load _ model(& amp;#39;搜索_模型& amp#39;);$ this-& gt;content _ db = PC _ base::load _ model(& amp;#39;内容模型& amp#39;);}/* * *关键字search */公共函数init(){//get siteid $ siteid = isset($ _ request[&;#39;siteid & amp#39;])& amp;& amptrim($ _ REQUEST[& amp;#39;siteid & amp#39;]) ?intval($ _ REQUEST[& amp;#39;siteid & amp#39;]) : 1;$ SEO = SEO($ siteid);//搜索配置$ Search _ setting = get cache(&;#39;搜索和搜索。#39;);$ setting = $ search _ setting[$ siteid];$ search _ model = get cache(& amp;#39;搜索模型。#39;。$ siteid);$ type _ module = get cache(& amp;#39;类型_模块_ & amp#39;。$ siteid);if(isset($ _ GET[& amp;#39;问与答。#39;])){ if(trim($ _ GET[& amp;#39;问与答。#39;])= = & amp;#39;& amp#39;){ header(& amp;#39;地点:& amp#39;。APP_PATH。& amp#39;index.php?m =搜索& amp#39;);退出;} $ typeid = empty($ _ GET[& amp;#39;typeid & amp#39;]) ?0:intval($ _ GET[& amp;#39;typeid & amp#39;]);$ time = empty($ _ GET[& amp;#39;时间与空间。#39;]) || !in _ array($ _ GET[& amp;#39;时间与空间。#39;],数组(& amp#39;所有& amp#39;,& amp#39;日与时。#39;,& amp#39;月份和时间。#39;,& amp#39;年份和时间。#39;,& amp#39;周& amp#39;)) ?& amp#39;所有& amp#39;:trim($ _ GET[& amp;#39;时间与空间。#39;]);$ page = isset($ _ GET[& amp;#39;页面& amp#39;]) ?intval($ _ GET[& amp;#39;页面& amp#39;]) : 1;$ pagesize = 10$ q = safe _ replace(trim($ _ GET[& amp;#39;问与答。#39;]));$ q = new _ html _ special _ chars(strip _ tags($ q));$ q = str _ replace(& amp;#39;% & amp#39;,& amp#39;& amp#39;,$ q);//Filter &;#39;% & amp#39;,用户全文搜索$ search _ q = $ q//搜索原内容$ SQL _ time = $ SQL _ tid = &;#39;& amp#39;;if($ typeid)$ SQL _ tid = & amp;#39;并且typeid = & amp#39;。$ typeid//按时间搜索if($ time = = &;#39;日与时。#39;){ $ search _ TIME = SYS _ TIME-86400;$ sql _ time = & amp#39;和添加日期& gt& amp#39;。$ search _ time} else if($ time = = & amp;#39;周& amp#39;){ $ search _ TIME = SYS _ TIME-604800;$ sql _ time = & amp#39;和添加日期& gt& amp#39;。$ search _ time} else if($ time = = & amp;#39;月份和时间。#39;){ $ search _ TIME = SYS _ TIME-2592000;$ sql _ time = & amp#39;和添加日期& gt& amp#39;。$ search _ time} else if($ time = = & amp;#39;年份和时间。#39;){ $ search _ TIME = SYS _ TIME-31536000;$ sql _ time = & amp#39;和添加日期& gt& amp#39;。$ search _ time} else { $ search _ time = 0;$ sql _ time = & amp#39;& amp#39;;} if($ page = = 1 & amp;& amp!$ setting[& amp;#39;斯芬克斯能和。#39;]){//精确搜索$ comment = $ this-> d B- & gt;get _ one(& quot;` siteid `= & amp;#39;$ siteid & amp#39;$sql_tid $sql_time和' data` like & amp#39;% $ q % & amp#39;");} else { $荐= & amp#39;& amp#39;;}//If Sphinx If($setting[&;#39;斯芬克斯能和。#39;]){ $ sphinx = PC _ base::load _ app _ class(& amp;#39;搜索_界面& amp#39;,& amp#39;& amp#39;, 0);$ sphinx = new search _ interface();$ offset = $ pagesize *($ page-1);$ RES = $ sphinx-& gt;search($q,array($siteid),array($typeid),array($search_time,SYS_TIME),$offset,$pagesize,& amp#39;@重量desc & amp;#39;);$ total nums = $ RES[& amp;#39;总计和。#39;];//如果结果不为空if(!empty($ RES[& amp;#39;火柴和蜡烛。#39;])){ $ result = $ RES[& amp;#39;火柴和蜡烛。#39;];} } else { $ sql = & quot` siteid `= & amp;#39;$ siteid & amp#39;$sql_tid $sql_time和' data` like & amp#39;% $ q % & amp#39;";$ result = $ this-& gt;d B- & gt;listinfo($sql,& amp#39;searchid desc & amp;#39;,$page,10);} var _ dump($ result);//如果结果不为空if(!空($result) ||!空($荐[& amp;#39;id & amp#39;]){ foreach($ result as $ _ v){ if($ _ v[& amp;#39;typeid & amp#39;])$ SIDS[$ _ v[& amp;#39;typeid & amp#39;]][]= $ _ v[& amp;#39;id & amp#39;];}如果(!空($荐[& amp;#39;id & amp#39;]){ if($荐[& amp;#39;typeid & amp#39;])$ SIDS[$荐[& amp;#39;typeid & amp#39;]][]= $荐[& amp;#39;id & amp#39;];} $ model _ type _ cache = get cache(& amp;#39;型号型号& amp#39;。$ siteid & amp;#39;搜索和搜索。#39;);$ model _ type _ cache = array _ flip($ model _ type _ cache);$ data = array();foreach($ SIDS as $ _ k = & gt;$ _ val){ $ tid = $ _ k;$ ids = array _ unique($ _ val);$ where = to _ SQL($ ids,& amp#39;& amp#39;,& amp#39;id & amp#39;);//获取模型id $ modelid = $ model _ type _ cache[$ tid];//是否读取其他模块接口if($ modelid){ $ this->;content _ db-& gt;set _ model($ modelid);/* * *如果表名为空,则为黄页模型*/If(empty($ this->;content _ db-& gt;model _ tablename)){ $ this-& gt;content _ db = PC _ base::load _ model(& amp;#39;yp _内容_模型& amp#39;);$ this-& gt;content _ db-& gt;set _ model($ modelid);} $ datas = $ this-& gt;content _ db-& gt;select($ where & amp;#39;* & amp#39;);} $data = array_merge($data,$ datas);} $ pages = $ this-& gt;d B- & gt;页数;$ total nums = $ this-& gt;d B- & gt;号码;//如果分词结果为空if(!empty($ segment _ q)){ $ replace = explode(& amp;#39;& amp#39;,$ segment _ q);foreach($ replace as $ replace _ arr _ v){ $ replace _ arr[]= & amp;#39;& ltfont color = red & gt& amp#39;。$replace_arr_v。#39;& lt/font & gt;& amp#39;;} foreach($ data as $ _ k = & gt;$ _ v){ $ data[$ _ k][& amp;#39;标题和标题。#39;] = str_replace($replace,$replace_arr,$ _ v[& amp;#39;标题和标题。#39;]);$ data[$ _ k][& amp;#39;描述& amp#39;] = str_replace($replace,$replace_arr,$ _ v[& amp;#39;描述& amp#39;]);} } else { foreach($ data as $ _ k = & gt;$ _ v){ $ data[$ _ k][& amp;#39;标题和标题。#39;] = str_replace($q,& amp#39;& ltfont color = red & gt& amp#39;。$ q. & amp#39;& lt/font & gt;& amp#39;,$ _ v[& amp;#39;标题和标题。#39;]);$ data[$ _ k][& amp;#39;描述& amp#39;] = str_replace($q,& amp#39;& ltfont color = red & gt& amp#39;。$ q. & amp#39;& lt/font & gt;& amp#39;,$ _ v[& amp;#39;描述& amp#39;]);} } } $execute_time =执行时间();$pages = isset($pages)?$ pages:& amp;#39;& amp#39;;$totalnums = isset($totalnums)?$ total nums:0;$data = isset($data)?$ data:& amp;#39;& amp#39;;include template(& amp;#39;搜索和搜索。#39;,& amp#39;列表和。#39;);} else { include template(& amp;#39;搜索和搜索。#39;,& amp#39;指数和指数。#39;);} }公共函数public _ GET _ suggest _ keyword(){ $ URL = $ _ GET[& amp;#39;url & amp#39;].& amp#39;& ampq = & amp#39;。$ _ GET[& amp;#39;问与答。#39;];$ trust _ URL = array(& amp;#39;c 8430 fcf 851 e 85818 b 546 addf 5b C4 DD 3 & amp;#39;);$ urm _ MD5 = MD5($ URL);如果(!in_array($urm_md5,$trust_url))退出;$ RES = @ file _ get _ contents($ URL);if(CHARSET!= & amp#39;gbk & amp#39;){ $ RES = iconv(& amp;#39;gbk & amp#39;,CHARSET,$ RES);} echo $ res}/* * *提示搜索接口* TODO暂时不启用,google的接口*/公共函数public _ suggest _ search(){//关键字转换为拼音PC _ base::load _ sys _ func(&;#39;iconv & amp#39;);$ pinyin = gbk _ to _ pinyin($ q);if(is_array($pinyin)) { $pinyin =内爆(& amp#39;& amp#39;,$拼音);} $ this-& gt;keyword _ db = PC _ base::load _ model(& amp;#39;搜索_关键词_模型& amp#39;);$ suggest = $ this-& gt;keyword _ db-& gt;选择(&quot拼音like & amp#39;$拼音% & amp#39;",& amp#39;* & amp#39;,10,& amp#39;desc & amp;#39;);foreach($ suggest as $ v){ echo $ v[& amp;#39;关键词& amp#39;]."\ n & quot;} }}?& gt然后在header.html模板上添加一个“无限制”的搜索条件(不是这里,是其他搜索框页面),将typeid对应的值设置为0,在搜索中对index.html和lists.html做同样的操作,效果就出来了,这样只要没有选择模型,搜索结果就是所有模型中符合条件的数据。

PHP中文网站,大量免费PHPCMS教程,欢迎在线学习!

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:phpcms无限制模式搜索的设置方法(phpcms无限制模式搜索的设置方法是什么) https://zhujicankao.com/114086.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » phpcms无限制模式搜索的设置方法(phpcms无限制模式搜索的设置方法是什么)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!