Magento 1.5.1 在數據流導入產品時拋出 Fatal error: Call to undefined method Mage_Adminhtml_Block_Abstract::getExceptions(),導致導入流程中斷。本文提供經驗證的熱修復方案,並說明根因與升級建議。
Fatal error: Call to undefined method Mage_Adminhtml_Block_Abstract::getExceptions()
in app/code/core/Mage/Adminhtml/Block/System/Convert/Profile/Run.php on line 167
Mage_Adminhtml_Block_System_Convert_Profile_Run 繼承自 Mage_Adminhtml_Block_Abstract,但父類**未定義** getExceptions()/setExceptions() 方法。這是 Magento 1.5.1 核心代碼的已知缺陷,官方在後續版本(1.5.1.1+)已修復。
app/code/core/Mage/Adminhtml/Block/System/Convert/Profile/Run.php// if (!is_null(parent::getExceptions()))
// return parent::getExceptions();
// parent::setExceptions($exceptions);
rm -rf var/cache/*),重新執行導入。app/code/core/ 會導致升級覆蓋失效。最佳實踐:將文件複製到 app/code/local/Mage/Adminhtml/Block/System/Convert/Profile/Run.php 並修改,利用 Magento 編譯器優先級覆蓋。進入後台 System → Import/Export → Dataflow - Profiles,運行導入 Profile,觀察無 Fatal Error 且導入記錄正常生成即成功。
此問題典型反映了 Magento 1.x 早期版本核心代碼質量參差不齊,建議長期項目制定升級路線圖,避免在 EOL 版本上持續修補。