我写了一个扩展名,在这个扩展名中我需要一个类别的活跃产品的数量。
我使用此剪辑按类别确定活动产品:
$return = Mage::getModel('catalog/category')
->load($category->getId())
->getProductCollection()
->addAttributeToSelect('entity_id')
->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
->addAttributeToFilter('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
->count();
如果我在test.php中调用该函数来获取活动产品的数量
header('Content-Type: text/html; charset=utf-8');
require_once "app/Mage.php";
Mage::reset();
Mage::app('default');
var_dump(myDummyFunction($categoryObject));
结果我得到3分。如果我在扩展名中使用相同的magento中的相同功能(在管理区域中使用),则结果为0.
有人知道为什么会这样,以及如何解决这个问题?
顺便说一下:如果我改变了Mage :: app('默认');在test.php到Mage :: app(' admin');它还显示0 ...
答案 0 :(得分:7)
使用此
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
就在此之前
Mage::app('default');