2013-07-18 87 views
2

我真的不知道Magento的任何內容,但朋友在他們的magento商店中安裝了一個不會通過管理控制檯卸載的擴展。於是我進入服務器並手動刪除與擴展名相關的所有文件和文件夾。Magento PHP致命錯誤:在516行Mage.php中找不到類'XXXXXX'

好消息是,該網站的前端現在正在重新工作。但是,當我嘗試登錄管理控制檯時,管理員控制面板顯示爲空白。在檢查日誌時,我發現Mage.php文件似乎在尋找分機幫助程序數據,並且無法找到它。我發現了其他一些與這個確切問題相關的帖子,除非他們是由於沒有將Helper置於正確的文件夾而遇到問題的擴展程序開發人員發佈的。

我需要知道Mage.php是如何引用這個文件的?如何刪除引用,以便Mage.php不再期望找到該文件?

回答

0

無論是佈局引用它的模塊名稱未聲明塊在某些模塊config.xml中 或一些塊/模板引用一個未聲明的幫助器。

<block type="company_modulename/blockname" 
     name="company_modulename" 
     template="blockname.phtml" /> 

請務必小心,至少有一個空Data幫手使用翻譯$this->__('string')隱幫手每個模塊。

config.xml文件:

<global> 
    <helpers> 
     <company_modulename> 
      <class>Company_Modulename_Helper</class> 
     </company_modulename> 
    </helpers> 
    <models> 
     <company_modulename> 
      <class>Company_Modulename_Model</class> 
     </company_modulename> 
    </models> 
</global> 
+0

有超過60的config.xml文件,所以無法通過他們去獨立。我試圖使用grep來嘗試找到錯誤日誌中提到的擴展名的任何引用,但它什麼都不返回。所以根據grep,服務器上沒有引用該模塊的文件。我清除了緩存和會話。所以下一個合乎邏輯的步驟是查看數據庫,並在數據庫中找到8212個引用,所以我將在那裏查看。數據庫中是否有單個引用會禁用擴展? – tarka

3

如果您是Magento開發人員,我會告訴您這最可能的原因是Magento已緩存來自舊模塊/擴展的管理配置文件,其屬性爲module="helpername",這反過來又觸發輔助程序的實例化對象,這又會觸發上述錯誤。

既然你不是Magento的開發者,我會說你最好的選擇是通過刪除/path/to/magento/var/cache中的文件來手動清除緩存。這將強制緩存重建並移除我描述的問題。如果其他系統文件被錯誤更改,此緩存重建可能會導致其他致命問題,但在這一點上這是不可避免的。

(這一切都假定你已刪除任何文件擴展名的app/design文件夾層次結構下配售)

相關問題