代码之家  ›  专栏  ›  技术社区  ›  K0r5hun

致命错误Joomla+Cron+智能搜索+Acepolls

  •  2
  • K0r5hun  · 技术社区  · 12 年前

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

    http://docs.joomla.org/Setting_up_automatic_Smart_Search_indexing

    乔姆拉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);
    

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

    1 回复  |  直到 12 年前
        1
  •  0
  •   Matteus Hemström    12 年前

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

    通常,当通过web界面运行Joomla时,Joomla会使用 JDocumentHTML 班问题是定义 J文档HTML 还进口 JModuleHelper 。因此,当mod_acepolls通过web界面运行时 JModuleHelper 已导入。

    对此最简单的解决方案是导入 JModuleHelper 在里面 finder_indexer.php (我猜您使用CLI/Cron运行的文件)。找到已经进行了一些导入的行(关于第45行),然后插入以下内容:

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

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