2

我尝试使用智能搜索模块在 Joomla 中设置自动重新索引内容。

http://docs.joomla.org/Setting_up_automatic_Smart_Search_indexing

Joomla 2.5.3

当我通过 ssh 登录到服务器并运行脚本时,我遇到了一个致命错误......并保存了一些帖子(搜索索引结果在 8 页上)。

有人知道如何解决这个问题吗?

* Processed batch 1 in 0.213 seconds.
* Processed batch 2 in 0.182 seconds.
* Processed batch 3 in 0.177 seconds.
* Processed batch 4 in 0.009 seconds.

PHP Fatal error: Class 'JModuleHelper' not found in / var / wolq.ru / plugins / content / acepolls / acepolls.php on line 41
Fatal error: Class 'JModuleHelper' not found in / var / wolq.ru / plugins / content / acepolls / acepolls.php on line 41

acepolls.php 中的 41-42 行:

$module = JModuleHelper::getModule('mod_acepolls');
$content = self::_renderModule($module, array(), $id);

如果我从网络界面运行重新索引 - 它运行成功并将搜索索引结果保存在 26 页上。

4

1 回答 1

0

我没有得到 mod_acepolls 的源代码,所以我不是 100% 的,但无论如何:

通常,当通过 Web 界面运行 Joomla 时,Joomla 使用JDocumentHTML类构建其网页。问题是定义JDocumentHTML的文件也导入了JModuleHelper。所以当 mod_acepolls 通过 web 界面运行时,JModuleHelper已经被导入。

最简单的解决方案是在finder_indexer.php(我猜你使用 CLI/Cron 运行的文件)中导入JModuleHelper 。找到已经进行了一些导入的行(大约第 45 行)并插入以下内容:

jimport('joomla.application.module.helper');

重要的是要记住,如果您升级网站,这可能会中断。

于 2012-09-27T07:17:45.717 回答