来自多站点的Magento查询

来自多站点的Magento查询,magento,Magento,我在magento上有多个站点,还有一个加载属性的简单脚本。我的问题是如何在运行脚本时选择哪个存储作为默认存储。我试过这样的方法,但没有结果。有什么帮助吗 Mage::app('store', 'website'); $products = Mage::getModel('catalog/product')->getCollection(); $products->addAttributeToSelect('*'); $products->load(); 我想你错过了add

我在magento上有多个站点,还有一个加载属性的简单脚本。我的问题是如何在运行脚本时选择哪个存储作为默认存储。我试过这样的方法,但没有结果。有什么帮助吗

Mage::app('store', 'website');
$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToSelect('*');
$products->load(); 

我想你错过了addStoreFilter。这是我用来做类似事情的代码:

$storeID = '##'; // replace ## with the numerical id of the store (i.e. 1, 2, 20, 100, etc.)

Mage::app();
Mage::app()->setCurrentStore($storeID); 

$products = Mage::getModel('catalog/product')->setStoreId($storeID)->getCollection();
$products->addStoreFilter($storeID);
$products->addAttributeToFilter('status', 1);//enabled
$products->addAttributeToFilter('visibility', array('in'=>array(2,3,4)));//catalog, search
$products->addAttributeToSelect('*');
$prodIds=$products->getAllIds();

仍然从所有站点获取所有产品我刚刚自己再次测试了代码,它适合我。如果您为过滤器使用了正确的门店视图编号,那么您应该只看到分配给该门店的产品。如果您使用的是不存在的数字,那么结果将为空。网站上的普通页面是否被正确过滤?谢谢。它为辅助站点工作,但主站点提供所有产品。谢谢