Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 搜索结果显示主题分类 For 4.1

[复制链接]
sw08 发表于 2006-5-24 21:15:58 | 显示全部楼层 |阅读模式
这个能实现在搜索结果的帖子标题前面加主题分类,如果没有分类就不显示。昨天开始弄~终于搞成功了。这个HACK居然是最不顺利的,估计这个东西让其他人做也会有比较多的麻烦……

打开search.php
找到:
  1. $threadlist = array();
复制代码


在下面加:
  1. $type = array();
复制代码


找到:
  1. while($thread = $db->fetch_array($query)) {
  2. $threadlist[] = procthread($thread);
  3. }
复制代码


在下面加:
  1.                 $query = $db->query("SELECT * FROM {$tablepre}threadtypes");
  2.                 while($typ = $db->fetch_array($query)) {
  3.                 $type[] = procthread($typ);
  4.                 }
复制代码


打开search_threads.htm
找到:
  1. <!--{if $thread['digest']}--><img src="{IMGDIR}/digest.gif" align="absmiddle"> {lang thread_digest}<b>{eval echo substr('III', - $thread['digest']);}</b>:
复制代码


在上面加:
  1. <!--{loop $type $typ}-->
  2.       <!--{if $thread['typeid'] == $typ['typeid']}-->[{$typ[name]}]<!--{/if}-->
  3.       <!--{/loop}-->
复制代码

[ 本帖最后由 sw08 于 2006-5-24 21:18 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

M55 发表于 2006-5-24 21:17:07 | 显示全部楼层
。。。。。。。

(沙发就是这样抢的)
回复

使用道具 举报

 楼主| sw08 发表于 2006-5-24 21:21:04 | 显示全部楼层
改这个HACK的心得(有点长~):
记得以前刚开始在学校学程序设计时,老师就说过程序能培养一个人的思维能力。可不~在这个修改小东西上面,绕了好大的弯子才绕回来。这个HACK按照一般人的思维,由于主题分类和帖子不是在同一个数据表上,所以需要根据TID条件查询两次。刚开始我是查找与threads中的与threadstypes表里面的typeid变量,如果两个相同,就赋值到新的数组中,然后在HTML模板中LOOP下就可以了,理论上PHP那步是没有错的。但是很麻烦的是,偏偏这个模板已经有LOOP,如果在循环体中再循环一次,HTML的显示效果非常糟糕。我尝试修改了判断和显示顺序,都不能达到效果。
后来我换了种思维,直接在PHP中查找threadtypes里面的typeid变量,然后直接赋值到新数组,根本就不要考虑TID的问题了。然后在HTML输出时候,LOOP下,然后加IF判断TYPIED是否一致就可以了。
这么简单的方法终于还是被我找到了,但是我相信程序的确是能很大程度地改变人的思维模式。
回复

使用道具 举报

cc88 发表于 2006-5-24 21:23:49 | 显示全部楼层
好帖子要顶
回复

使用道具 举报

终结者4 发表于 2006-5-24 21:26:54 | 显示全部楼层
复杂的东西简单化,这是最锻炼人思维的一种模式.
回复

使用道具 举报

hydeist 发表于 2006-5-24 21:28:24 | 显示全部楼层
强人!!!!!!!!!

楼主老大,能否写一个搜索主题分类的功能出来。连VBB都有的,我都向官方提意见了……就是没声音

[ 本帖最后由 hydeist 于 2006-5-24 21:29 编辑 ]
回复

使用道具 举报

 楼主| sw08 发表于 2006-5-24 21:33:32 | 显示全部楼层

回复 #6 hydeist 的帖子

可以试下的,反正PHP测试成功。现在需要折腾HTML那个了。不过这跟右上角那个不是重复了吗?

[ 本帖最后由 sw08 于 2006-5-24 21:38 编辑 ]
回复

使用道具 举报

piyr11 发表于 2006-5-24 21:50:05 | 显示全部楼层
試一試
回复

使用道具 举报

jzhcctv 发表于 2006-5-24 22:11:14 | 显示全部楼层
3Q
回复

使用道具 举报

hydeist 发表于 2006-5-24 23:58:38 | 显示全部楼层
原帖由 sw08 于 2006-5-24 21:33 发表
可以试下的,反正PHP测试成功。现在需要折腾HTML那个了。不过这跟右上角那个不是重复了吗?

重复??不明白

因为我分了200多个主题分类,都很实用的,每一个主题分类都不一样。你觉得让别人如何搜索的更精确一些呢?肯定是搜索的时候,选择主题分类,然后点搜索了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-3 05:27 , Processed in 0.133342 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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