2012-09-26 25 views
2

我嘗試使用智能搜索模塊在Joomla中設置自動重新索引內容。致命錯誤Joomla + Cron +智能搜索+ Acepolls

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 

41-42線acepolls.php:

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

如果我運行來自Web的界面重新索引 - 它的運行succesfull並節省26頁的搜索索引結果。

+0

這只是一個旁註,它可能與您的問題沒有直接關係,但如果您首次升級到最新版本的Joomla!將會很棒。同時bug已經修復。 –

回答

0

我沒有帶得到了mod_acepolls的源代碼,所以我不是100%,這個,但無論如何:

正常運行的Joomla槽的web界面時,使用JDocumentHTML類的Joomla建立在它的網頁。問題是定義JDocumentHTML的文件也導入JModuleHelper。所以當mod_acepolls通過web界面運行時,JModuleHelper已經被導入。

最簡單的解決方案是導入JModuleHelperfinder_indexer.php(我猜你使用CLI/Cron運行的文件)。發現已經做了一些進口(約45行),該行並插入以下:

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

其重要要記住,如果你升級的網站,這可能打破。