当我们尝试调用任何静态方法时,我遇到了Mage类的一些问题,例如: G。就我而言:
Mage::getModel('catalog/product')->load($productId);
它总是导致错误500.它已在自己的php设计文件中使用。
此外,这篇文章没有解决问题: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 :(得分:0)
错误可能是由此引起的:
Mage::getModel()->('catalog/product')->load($productId);
这是错误的。首先,getModel
至少需要一个参数。其次,这里没有方法名称->('catalog/product')
。你的代码应该是:
Mage::getModel('catalog/product')->load($productId);
还要确保脚本中包含Mage.php
,否则找不到该类。