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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

开启纵横搜索会导致嵌入点index_forum_extra无法正常使用

[复制链接]
wuchunuan 发表于 2012-7-2 22:23:55 | 显示全部楼层 |阅读模式
本帖最后由 wuchunuan 于 2012-7-2 22:25 编辑

问题描述:
开发了一个插件,用到嵌入点“index_forum_extra”,在没有开启纵横搜索的情况下,我的插件可以正常使用,开启纵横搜索就会导致嵌入点index_forum_extra无法正常使用。

尝试排错:
我看了纵横搜索的代码,发现纵横搜索插件也用到这个嵌入点“index_forum_extra” 。在/source/plugin/cloudsearch/search.class.php文件中有这么两个函数,在函数的开头就使用了return,代码如下:
  1. public function index_forum_extra_output() {

  2.                 return;
  3.                 if (!$this->allow || !$this->allow_forum_recommend) {
  4.                         return;
  5.                 }

  6.                 global $forumlist;

  7.                 return $this->_get_forum_hotspot($forumlist);
  8.         }

  9.         public function forumdisplay_subforum_extra_output() {

  10.                 return;
  11.                 if (!$this->allow || !$this->allow_forum_recommend) {
  12.                         return;
  13.                 }

  14.                 global $sublist;

  15.                 return $this->_get_forum_hotspot($sublist);
  16.         }
复制代码
我尝试把以下代码注释:
  1. public function index_forum_extra_output() {

  2. return;
  3. if (!$this->allow || !$this->allow_forum_recommend) {
  4. return;
  5. }

  6. global $forumlist;

  7. return $this->_get_forum_hotspot($forumlist);
  8. }
复制代码
注释后发现我的插件就能正常工作了。这是BUG吗?

问题:
1、请问这两个函数意义何在?
2、为什么在纵横搜索插件中直接return后,其他插件就无法正常使用嵌入点“index_forum_extra ”?

670311469 发表于 2012-7-2 22:26:31 | 显示全部楼层
顶你
回复

使用道具 举报

kofip 发表于 2012-7-2 23:00:21 | 显示全部楼层
让人无法理解的代码。
一个函数开头就直接return;
后续代码永远执行不到。
这是临时工写的代码吗?
回复

使用道具 举报

 楼主| wuchunuan 发表于 2012-7-2 23:51:40 | 显示全部楼层
自己顶一个,别让它沉了!{:soso_e113:}
回复

使用道具 举报

要命的酒鬼 发表于 2012-7-3 00:05:22 | 显示全部楼层
代码很规整,我喜欢
原理很玄妙,我费解
回复

使用道具 举报

yz81 发表于 2012-7-3 00:50:34 | 显示全部楼层
的确存在开启纵横搜索后,自己插件中index_forum_extra_output返回数组值时为空的问题,但如果以字符串的形式却能返回一个值,未知原因,希望官方尽快回复!
回复

使用道具 举报

m.king 发表于 2012-7-3 08:58:40 | 显示全部楼层
您的反馈问题,已经发送给相关研发人员。感谢您的反馈!
回复

使用道具 举报

云天一 发表于 2012-7-3 09:24:31 | 显示全部楼层
您好,这两个方法已经废弃,楼主可以删除这两个方法
或者将这两个方法中的
  1. return;
复制代码
改为
  1. return array();
复制代码
回复

使用道具 举报

 楼主| wuchunuan 发表于 2012-7-3 09:26:23 | 显示全部楼层
云天一 发表于 2012-7-3 09:24
您好,这两个方法已经废弃,楼主可以删除这两个方法
或者将这两个方法中的改为

哦哦!
回复

使用道具 举报

 楼主| wuchunuan 发表于 2012-7-3 09:30:02 | 显示全部楼层
云天一 发表于 2012-7-3 09:24
您好,这两个方法已经废弃,楼主可以删除这两个方法
或者将这两个方法中的改为

我先使用此方法解决问题,但是能否请官方更新一下纵横搜索插件呢?我这个插件可会放到应用中心上去,到时候可能会有很多站长因为此问题无法使用我这插件!还得要各站长们自行更新,这可能多有不便!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-25 21:17 , Processed in 0.037180 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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