设为首页收藏本站关注微信<<< 抵制 IE6 人人有责 >>>
搜索
热搜: 活动 交友 discuz
查看: 2670|回复: 3
打印 上一主题 下一主题

[dedecms] 把DEDECMS搜索改为自己多功能搜索的技巧

[复制链接]
跳转到指定楼层
楼主
发表于 2014-2-11 23:36:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <form name=bf onSubmit="bottomForm();return false;">  
  2.    <script>  
  3. function bottomForm(){  
  4. var $=document.bf.key.value;  
  5. if(document.bf.sto[0].checked)window.open("./plus/search.php?kwtype=0&keyword="+$,"a1");  
  6. if(document.bf.sto[1].checked)window.open("http://www.baidu.com/s?q1="+"&q6=blog.sina.com.cn","a2");  
  7. if(document.bf.sto[2].checked)window.open("http://www.google.com/search?hl=zh-CN&q="+"&as_sitesearch=blog.sina.com.cn","a3");  
  8. // if(document.bf.sto[3].checked)window.open("http://www.gougou.com/search?id=1&search="+$,"a4");  
  9. // if(document.bf.sto[4].checked)window.open("http://map.baidu.com/m?word="+$,"a5");  
  10. // if(document.bf.sto[5].checked)window.open("http://bk.baidu.com/?kw="+"&submit=search","a6");  
  11. return false}  
  12. </script>  <div class="form">  
  13. <h4>搜索</h4>  
  14. <!-- <input name="key" class="search-keyword" value="(输入搜索内容……)"> -->  
  15. <input name="key" class="search-keyword" value="(输入搜索内容……)" onfocus="if(this.value=='(输入搜索内容……)'){this.value='';}"  onblur="if(this.value==''){this.value='(输入搜索内容……)';}">  
  16. <input name=sto type=radio value="0" checked=true>本站内  
  17. <input name=sto type=radio value="1"><a href="http://www.baidu.com">百度</a>  
  18. <input name=sto type=radio value="2"><a href="http://www.google.cn">Google</a>  
  19. <!--  
  20. <input name=sto type=radio value="3"><a href="http://www.gougou.com">狗狗</a>  
  21. <input name=sto type=radio value="4"><a href="http://map.baidu.com">地图</a>  
  22. <input name=sto type=radio value="5"><a href="http://baike.baidu.com">百科</a>  
  23. -->  
  24. <button type="submit" class="search-submit">搜索</button>  
  25. </div>  
  26. </form>
复制代码
其中,“blog.sina.com.cn” 换成你自己的独立域名。

原来的以下这段,似乎是用不上了,本人这样屏蔽掉:
  1. <!--
  2.         <div class="tags">
  3.           <h4>热门标签:</h4>
  4.           <ul>
  5.           {dede:tag row='10' getall='1' sort='month'}
  6.             <li><a href='[field:link/]'>[field:tag /]</a></li>
  7.           {/dede:tag}
  8.           </ul>
  9.         </div>
  10. -->
复制代码





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享淘帖
回复

使用道具 举报

沙发
 楼主| 发表于 2014-2-12 01:31:36 | 只看该作者
实现DedeCMS "puls/advancedsearch.php"搜索结果页显示自定义字段


关于在搜索结果页中显示自字义字段的方法

如果通过“内容模型管理 > 自定义搜索”搜索的结果页如果要显示自定义字段,可使用以下方法:

1。修改puls/advancedsearch.php文件,找到

  1. $query = "select arctype.* from $addontable addon
  2. left join cmsxx_arctype arctype on arctype.id=addon.typeid
  3. $where $orderby";
  4. } else {
  5. $query = "select main.id as aid,main.*,main.description as description1, type.*
  6. from $maintable main
  7. left join cmsxx_arctype type on type.id=main.typeid
  8. left join $addontable addon on addon.aid=main.id
  9. $where $orderby";<span style="line-height: 1.5;"> </span>
复制代码


在select后面增加"addon.*,"
修改后应该是

  1. $query = "select addon.*, arctype.* from $addontable addon
  2. left join cmsxx_arctype arctype on arctype.id=addon.typeid
  3. $where $orderby";
  4. } else {
  5. $query = "select addon.*,main.id as aid,main.*,main.description as description1, type.*
  6. from $maintable main
  7. left join cmsxx_arctype type on type.id=main.typeid
  8. left join $addontable addon on addon.aid=main.id
  9. $where $orderby";
复制代码


注意,有两个地方要加
显示结果要修改模板文件,在plus/advancedsearch.htm,{dede:datalist}中直接调用{dede:field.字段名称/} 就好了。

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-2-15 11:21:55 | 只看该作者
advancedsearch.php
复制代码
  1. $query = "select main.id as aid,main.*,main.description as description1, type.*
  2.     from $maintable main
  3.     left join #@__arctype type on type.id=main.typeid
  4.     left join $addontable addon on addon.aid=main.id
  5.     $where  $orderby";
复制代码





  1. $query = "select main.id as aid,main.*,main.description as description1, type.* ,addon.*
  2.     from $maintable main
  3.     left join #@__arctype type on type.id=main.typeid
  4.     left join $addontable addon on addon.aid=main.id
  5.     $where  $orderby";
复制代码

主要修改未知是在:"$query = "select main.id as aid,main.*,main.description as description1, type.*"增加了 ",addon.*"
考虑性能,如果没必要就不要搜索这些字段了

回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-2-20 11:39:12 | 只看该作者
DedeCMS 搜索结果每页只显示10条 如何更改显示条数?

 DedeCMS搜索结果默认只显示了10条搜索结果,修改“search.htm”模板中的“pagesize='10'”但是无效。
  找到plus/search.php文件,第5行,如下代码:

  1. $pagesize = (isset($pagesize) && is_numeric($pagesize)) ? $pagesize : 10;
复制代码


  其中的10,就是显示出来的条数,将它改成你要显示出来的条数即可。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|手机版|Archiver|源于生活(个人生活娱乐工作的笔记)css3,html5,学习笔记    

GMT+8, 2024-11-27 11:38 , Processed in 0.078000 second(s), 28 queries .

Powered by Mr.Kevin-ying

© 2004-2015

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