0

当我们尝试调用任何静态方法时,我遇到了 Mage Class 的一些问题,例如在我的情况下:

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

它总是会导致错误 500。它已在自己的 php 设计文件中使用。

此外,这篇文章没有解决问题:Magento 1.7 - getModel in script outside web application failed

我在互联网上搜索了很多,发现

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);
4

1 回答 1

0

该错误可能是由以下原因引起的:

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

这是错误的。首先getModel需要至少一个参数。其次,这里没有方法名->('catalog/product')。您的代码应该是:

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

还要确保它Mage.php包含在您的脚本中,否则找不到该类。

于 2013-10-15T07:30:42.067 回答