我尝试使用智能搜索模块在 Joomla 中设置自动重新索引内容。
http://docs.joomla.org/Setting_up_automatic_Smart_Search_indexing
Joomla 2.5.3
当我通过 ssh 登录到服务器并运行脚本时,我遇到了一个 fatal error ......并保存了一些帖子(搜索索引结果在 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 页上。
最佳答案
我没有得到 mod_acepolls 的源代码,所以我不是 100% 的,但无论如何:
通常,当通过 Web 界面运行 Joomla 时,Joomla 使用 JDocumentHTML 构建其网页。类(class)。问题是定义 JDocumentHTML 的文件还导入 JModuleHelper .所以当 mod_acepolls 通过 web 界面运行时,JModuleHelper已经导入。
最简单的解决方案是导入 JModuleHelper在 finder_indexer.php (我猜你使用 CLI/Cron 运行的文件)。找到已经进行了一些导入的行(大约第 45 行)并插入以下内容:
jimport('joomla.application.module.helper');
重要的是要记住,如果您升级网站,这可能会中断。
关于php - fatal error Joomla+Cron+Smart Search+Acepolls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12609602/