整合了整合DEDECMS和ECSHOP,搜索功能呢就要分别搜索,搜索文章是搜索DEDECMS搜索商品是搜索ECSHOP。这里实现这种功能。
先贴出代码:
- <form id="searchForm" method="get" name="formsearch" onSubmit="retu validform();">
- <input name="keywords" type="text" class="serach_input" id="keyword" value="" />
- <select class="serach_sel" name="searchtype" id="category">
- <option value="titlekeyword">文章</option>
- <option value="keywords">商品</option>
- </select>
- <input type="image" src="{dede:global.cfg_templets_skin/}/images/search.gif" class="serach_img" name="submit"/>
- </form>
- <script language="JavaScript">
- <!--
- function validform(){
- if (document.formsearch.keywords.value == ""){
- document.formsearch.keywords.focus();
- alert ("请输入关键字或藏品名称!");
- retu false;
- }
- if (document.formsearch.searchtype.value=="titlekeyword"){
- document.formsearch.action="{dede:global.cfg_cmsurl/}/plus/search.php";
- }
- if (document.formsearch.searchtype.value=="keywords"){
- document.formsearch.action="/shop/search.php"; //引号里的地址更换为你自己的ECSHOP地址
- }
- }
- //-->
- </script>
效果图:
分析:DEDE的搜索结果页面类似为
- http://www.meowpet.com/plus/search.php?p=%E5%85%B3%E9%94%AE%E5%AD%97&searchtype=titlekeyword&submit.x=44&submit.y=12
ECSHOP的搜索结果页面类似为
- http://www.jdztc.cc/shop/search.php?keywords=%E5%85%B3%E9%94%AE%E5%AD%97
或者为经过encode64位编码的乱码地址。所以直接复制文章开始的代码过去是不能用得。要修改源码。下面是步骤:
步骤1.修改ECHSOP根目录下得search.php,注释掉行18-行66。然后加入:
- $string["keywords"]=addslashes($_GET["keywords"]);
- $string["page"]=addslashes($_GET["page"]);
- $string["search_encode_time"] = $_SERVER["REQUEST_TIME"];
说明:这里是把ECSHOP的encode64位编码的乱码地址更换为正常的搜索地址。
步骤2.打开DEDECMS目录下plus/search.php,找到:
- if(!isset($keyword)){
- if(!isset($q)) $q = '';
- $keyword=$q;
- }
修改为:
- if(!isset($keyword)){
- if(!isset($keywords)) $keywords = '';
- $keyword=$keywords;
- }
说明:此步骤是把DEDECMS搜索地址中得p=更换为keywords=,这样DEDECMS和ECSHOP就同样使用keywords进行搜索了。
步骤3.更换以后有可能提示“关键字不能小于2”,如果出现此情况,找到plus/search.php
- if(($keyword=='' || strlen($keyword)<0) && empty($typeid))
- {
- ShowMsg('关键字不能小于2个字节!','-1');
- exit();
- }
注释掉就可以了。如果没找到则省略此步骤。
修改完后搜索“关键字”地址分别为:
- 选择文章后搜索,地址为:
- http://www.meowpet.com/plus/search.php?keywords=%E5%85%B3%E9%94%AE%E5%AD%97&searchtype=titlekeyword&submit.x=36&submit.y=19
- 选择商品后搜索,地址为:
- http://www.meowpet.com/shop/search.php?keywords=%E5%85%B3%E9%94%AE%E5%AD%97&searchtype=keywords&submit.x=36&submit.y=12
此方法在DEDECMS5.7utf-8和ECSHOP2.7.2中测试通过。不能保证每个人或每个版本都适用。
一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。