2013-10-15 57 views
0

當我們嘗試調用任何靜態方法時,我遇到了Mage類的幾個問題。 G。在我的情況下:Magento法師類導致自己的PHP腳本中的服務器錯誤500

Mage::getModel('catalog/product')->load($productId); 

它總是會導致錯誤500.它已被用於自己的PHP設計文件。

此外,這個職位didn't解決問題:Magento 1.7 - getModel in script outside web application fails

我搜索了很多在互聯網和發現了,那

Mage::getModel(); 

是一個工廠方法,所以其實我鴕鳥政策需要撥打

Mage::getConfig()->init(); 
Mage::getConfig()->loadModules(); 

請幫幫我!

編輯:我解決了這個錯誤,此代碼:

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 
$category = Mage::getModel('catalog/category')->load($categoryId); 
$prodCollection = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($category); 
     $prodCollection->addAttributeToSelect('attribute_name'); 

的主要問題是,這條線是缺失:

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 

回答

0

的錯誤可能是由於這個原因造成的:

Mage::getModel()->('catalog/product')->load($productId); 

這是錯誤的。首先getModel至少需要一個參數。其次,這裏沒有方法名稱->('catalog/product')。您的代碼應該是:

Mage::getModel('catalog/product')->load($productId); 

還要確保Mage.php包含在你的腳本,否則類是找不到的。

+0

對不起,這是一個打字錯誤。我也使用你的代碼。 – alpham8